首先创建一个项目名称为firstapp,应用程序名为firstapp,包名为com.study.firstapp,Activity名称为NowActivity,打开NowActivity.java代码,修改代码为如下代码:
package com.study.firstapp;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.util.Date;
public class NowActivity extends Activity implements View.OnClickListener {
/** Called when the activity is first created. */
Button btn;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
btn=new Button(this);
btn.setOnClickListener(this);
// btn.setOnClickListener(new OnClickListener(){
// @Override
// public void onClick(View v) {
// // TODO Auto-generated method stub
// }
// });
updateTime();
setContentView(btn);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
updateTime();
}
private void updateTime()
{
btn.setText(new Date().toString());
}
}
我们来简单的分析下代码:
首先看到的是我们创建项目的时候定义的包(package)名称 com.study.firstapp;然后我们看到的是引入了android定义好的包,里面包含我们将要用到的api类。我们看到类 NowActivity是extends于Activity,并且继承了View.OnClickListener事件,该事件将为我们处理Button 按钮点击事件。activity启动的时候会首先调用onCreate()方法,我们看到它会先调用上层的onCreate()方法,然后初始化我们将要使用的Button按钮,注意我们在创建Button和设置其点击事件的时候,传入的参数使用了”this”。运行结果如下:
在上面的讲述中,我们是使用java代码创建Button按钮,下面我们来在xml中创建 Button,并在程序中使用它,我们首先要打开main.xml文件,在里面添加Button按钮定义语句,整个代码如下:
<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
>
<Button android:id=”@+id/btn_test”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
/>
</LinearLayout>
注意我们在定义Button的时候的红色代码部分,我们定义了其唯一id,我们将在 java代码中使用到它。下面是java代码:
package com.study.firstapp;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.util.Date;
public class NowActivity extends Activity implements View.OnClickListener {
/** Called when the activity is first created. */
Button btn;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
btn=(Button)this.findViewById(R.id.btn_test);
btn.setOnClickListener(this);
updateTime();
setContentView(R.layout.main);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
updateTime();
}
private void updateTime()
{
btn.setText(new Date().toString());
}
}
注意红色部分我们使用了方法findViewById(R.id.btn_test)方法来查找我们在xml文件中定义的Button按钮,不过注意使用的时候要注意强制转换。