真枪核弹做自己的应用
此示例在Hello world示例的基础上进行改造。
增加三个页面组件EditText、Button与TextView,目的是将EditText输入的内容,单击按钮后显示在TextView组件上。
1 layout布局文件修改
目录res/layout/mail.xml的修改有二种方式:一种为直接
Graphical Layout视图方式进行可视化的编辑。另一种为直接修改mail.xml文件。
代码解释如下:
<?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"
>
<!--
LinearLayout指定线型布局方式
xmlns:android="命令空间引用android构架语法"
android:orientation="布局方向为垂直的"
android:layout_width="宽度全部填充父控件"
android:layout_height="高度全部填充父控件"
-->
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<!-- TextView 文本显示控件
android:layout_width="宽度全部填充父控件"
android:layout_height="将强制性地使视图扩展以显示全部内容"
android:text="引用string字符串资源的hello标识定义内容"
-->
<EditText android:text="" android:id="@+id/name" android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText>
<!-- EditText 文本编辑控件 android:text="无默认内容,可自行编辑" android:id="id标识用于R类引用" -->
<Button android:text="提交" android:id="@+id/submit" android:layout_width="fill_parent" android:layout_height="wrap_content"></Button>
<!-- Button 按钮控件 android:text="按钮显示文字" android:id="id标识用于R类引用" -->
<TextView android:text="" android:id="@+id/result" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>
<!-- TextView 文本显示控件 android:text="内容为空,可以用对象的setText方法赋值" android:id="id标识用于R类引用" -->
</LinearLayout>
2 R类的变化
R类会自动增加id的描述。
代码如下:
package com.shane.android;
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class id {
public static final int name=0x7f050000;
public static final int result=0x7f050002;
public static final int submit=0x7f050001;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}
3 HelloAndroid.java的修改
HelloAndroid.java为Activity类,在此类进行对页面组件逻辑的实现。
代码解释如下:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class HelloAndroid extends Activity {//定义应用类,并继承
/**
* 类中的onCreate方法,程序启动时就将运行。
*/
@Override //重写父类方法,注解编程
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);//指定了用户界面
Button button=(Button)findViewById(R.id.submit);//得到资源按钮控件
button.setOnClickListener(yourName);//使用yourName方法监听单击按钮
}
private OnClickListener yourName= new OnClickListener()//创建单击监听方法
{
@Override //重写onClick方法
public void onClick(View v) {
EditText nameObj=(EditText)findViewById(R.id.name);//得到文本编辑控件对象
TextView resultObj=(TextView)findViewById(R.id.result);//得到文本显示控件对象
resultObj.setText(nameObj.getText()+"恭喜你,已经真枪核弹的玩上了!");// 将文本编辑控件的内容显示到文本显示控件
}
};
}