Android学习笔记三:第一个应用程序的扩充
接上文
之前我们看到的第一个应用程序都是系统为我们自动创建的,那么现在来看看如何对这个程序进行一些简单的扩充。
从之前的说明中可以看到,Activity程序完成界面的显示,那么就一定会使用到布局文件,也就是说Activity程序和布局相关的配置联系非常紧密。
我们可以在Activity中通过R.java来获取组件,也可以在Activity中动态生成组件。如果要获取组件,那么就需要为组件配置ID,下面我们对main.xml进行简单的扩充,添加几个组件。
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello" /> <TextView android:id="@+id/text2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/powered_by" /> <Button android:id="@+id/btn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/btn_text" /></LinearLayout>
<?xml version="1.0" encoding="utf-8"?><resources> <string name="hello">Hello World, HelloAndroidActivity!</string> <string name="app_name">HelloAndroid</string><string name="powered_by">Powered By Nan Lei</string><string name="btn_text">I\'m Button</string></resources>





package org.ourpioneer;public final class R { public static final class attr { } public static final class drawable { public static final int ic_launcher=0x7f020000; } public static final class id { public static final int btn=0x7f050002; public static final int text1=0x7f050000; public static final int text2=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 btn_text=0x7f040003; public static final int hello=0x7f040000; public static final int powered_by=0x7f040002; }}package org.ourpioneer;import android.app.Activity;import android.os.Bundle;import android.widget.Button;import android.widget.TextView;public class HelloAndroidActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// Android生命周期方法super.setContentView(R.layout.main);// 设置使用的布局管理器TextView text1 = (TextView) super.findViewById(R.id.text1);//取得text1组件text1.setText("你好");//设置text1的显示文字Button btn=(Button)super.findViewById(R.id.btn);//取得btn组件btn.setText(R.string.btn_text_zh);//设置btn的显示文字}}<string name="btn_text_zh">我是按钮</string>

package org.ourpioneer;import android.app.Activity;import android.os.Bundle;import android.widget.Button;import android.widget.LinearLayout;import android.widget.TextView;public class HelloAndroidActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// Android生命周期方法LinearLayout layout = new LinearLayout(this);// 创建布局管理器layout.setOrientation(LinearLayout.VERTICAL); // 设置组件排列方式TextView text1 = new TextView(this);// 创建TextView组件text1.setText(super.getString(R.string.hello));// 设置text1的显示文本TextView text2 = new TextView(this); // 创建TextView组件text2.setText(super.getString(R.string.powered_by));// 设置text2的显示文本Button btn = new Button(this);//创建Button组件btn.setText(super.getString(R.string.btn_text));// 设置btn的显示文本layout.addView(text1);// 将text1添加到布局管理器中layout.addView(text2);// 将text2添加到布局管理器中layout.addView(btn);// 将btn添加到布局管理器中super.setContentView(layout); // 设置布局管理器layout}}
