《宅男的android开发指南》(翻译)--2

本文介绍了如何使用Eclipse创建Android项目,并详细解释了Activity的基本概念及其工作原理。通过实例演示了如何创建一个简单的Activity,包括按钮点击事件的处理。

====================================

下面文字只是节选,完整在附件中

====================================

4 创建一个应用程序

 

我们就简单的说明下,使用eclipse,创建一个android的项目:

 

 

 

Activity

 

   创建的项目中,src目录包含着一些基本基于报名的的java代码。如果创建的包名叫做com.commonsware.android,那么就会创建如下的tree结构:src/com/commonsware/android/

加入在创建项目的时候,我们创建了一个叫做Now Activity.,那么我们就会在src下看到一个Now.java文件。

 

生成:

 

   打开Now.java文件,会看到

 

package com.commonsware.android;

 

import android.app.Activity;

import android.os.Bundle;

 

public class Now extends Activity {

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

    }

}

 

 

我们做如下修改:

Ps:有java基础的朋友会很容易看懂代码的作用的

package com.commonsware.android;

 

import java.util.Date;

 

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

 

public class Now extends Activity implements View.OnClickListener {

    /** Called when the activity is first created. */

    Button btn;

    int i =  0;

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        btn = new Button(this);

        btn.setOnClickListener(this);

       

        setContentView(btn);

    }

    public void updateTime()

    {

     i++;

     btn.setText("hello"+i);

    }

    public void onClick(View v) {

       updateTime();

    }

}

 

 

运行:

   选中Row这个Activity,右键 run.as ..-----Open Run Dialog----New Configuration---选中需要运行的项目~~~~浏览即可

 

 

接着选择Taget

 

可以选择自己的Android模拟器

 

接着就可以运行了~~

 

 

解析Activity

 

下面让我们检查下下面的代码片段:

 

包声明应该跟我们创建project的时候保持一致。当需要引用别的包的时候,需要导入

同时,要记住,不是所有的JAVASE的类都能在Android中获得的。

 

 

可以看到,一个Activity,首先是public类型的并继承自 android.Activity这个基类。在我们这个例子中,这个Activity包含一个button按钮(记住哦,Activity我们就可以理解为一个界面,可以接受用户交互行为的)。简单的,如果我们希望按钮能够进行用户交互,比如用户按下按钮的事件,我们只需要让整个Activity类实现OnClickListener这个接口,并实现相应的方法即可。比如:

 

 

OnCreate()方法是在Activity活动启动的时候,就会被调用。第一行代码,是调用父类的相应方法,这是我们必须要做的,因为有时候我们自己做不了,只有让父类来做。我们需要对Activity进行初始化的工作,基本上都在oncreate()方法中进行。

 

在我们这个例子中,我们然后定义了一个按钮的实例化对象,( new Button(this)),并告诉它,将所有的按钮按下事件都传递给这个Activity(通过 setOnClickListener()),调用一个私有方法updateTime(),并最后设置了这个Activity所要显示的界面(setContentView()

  

使用过java Swing的朋友应该知道,比如一个 Jbutton 被按下,就会生成一个ActionEvent事件对象,这个对象就会被传递给ActionListener 监听器,这个按钮事先已经注册(或配置)到整个监听器中了。在Android中,一个按钮按下就被导致一个OnClickListener的实例调用一个onClick()方法,当然事先这个按钮也会先注册好。而这个Listener,是由某一个View(视图)提供的,这个视图恰恰是启动(或者是触发)这个事件(比如这里的click事件)。我们这里,这个View就是button。我们现在简单的理解就是:所有的视图界面上的控件,都是View,并且都可以提供各种监听接口来监听按下,触摸,状态等事件的发生。

 

 

继续,当我们打开这个Activityoncreate方法被执行。当button被按下,就会调用onClick()方法,在这个方法里执行update更新。

 

 

程序运行,,,,使用eclipse,只要run as。。即可

 

 

 

我们顺便看下此时别的文件:

  看系统为我们创建了这么一个Android项目哦

 

 

除了Now是我们自己写的,别的,,,,,,貌似都没有动吧~~

项目的配置文件

 

 

因为我们做了如下的配置:

 

那么,我们这个程序就会在手机的主界面中显示出来,我们看下

 

上面的Now就是我们的这个小例子了~

 

 

虽然我们没有用到下面这个文件,但是系统也会自动生成一个默认的

这个文件下面就会降到,是android的布局界面

 

下面是Res文件夹

里面包含了基本的三个子文件夹:

drawable包含图片的,我们这里是系统自动分配的icon.png

layout:包含的是系统中需要用到的布局,均为xml文件

values:包含系统需要用到一些资源常量,比如字符串Strings,颜色Color等。我们后面都会介绍到~

 

 

需要注意的是gen文件夹,这个文件夹我们是不需要手动修改的,里面只有一个R.java文件。

这个R类里面建立了项目中res资源文件夹中所有资源的索引,为每一个资源都建立了一个int类型的索引值

 

 

我们看一眼

 

都是静态类型的常量,作为资源的id,我们可以在程序里用R.xxx.xxx的方式来访问这些资源哦~~

 

还有,R是系统自动创建的,我们不能修改~~

 

 

 

 

 

 

【电动汽车充电站有序充电调度的分散式优化】基于蒙特卡诺和拉格朗日的电动汽车优化调度(分时电价调度)(Matlab代码实现)内容概要:本文介绍了基于蒙特卡洛和拉格朗日方法的电动汽车充电站有序充电调度优化方案,重点在于采用分散式优化策略应对分时电价机制下的充电需求管理。通过构建数学模型,结合不确定性因素如用户充电行为和电网负荷波动,利用蒙特卡洛模拟生成大量场景,并运用拉格朗日松弛法对复杂问题进行分解求解,从而实现全局最优或近似最优的充电调度计划。该方法有效降低了电网峰值负荷压力,提升了充电站运营效率与经济效益,同时兼顾用户充电便利性。 适合人群:具备一定电力系统、优化算法和Matlab编程基础的高校研究生、科研人员及从事智能电网、电动汽车相关领域的工程技术人员。 使用场景及目标:①应用于电动汽车充电站的日常运营管理,优化充电负荷分布;②服务于城市智能交通系统规划,提升电网与交通系统的协同水平;③作为学术研究案例,用于验证分散式优化算法在复杂能源系统中的有效性。 阅读建议:建议读者结合Matlab代码实现部分,深入理解蒙特卡洛模拟与拉格朗日松弛法的具体实施步骤,重点关注场景生成、约束处理与迭代收敛过程,以便在实际项目中灵活应用与改进。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值