首先使用Eclipse创建一个Android程序(<<==这是一个链接)
Android程序把逻辑代码和界面分离。看自动产生的代码里,逻辑代码在单独的java文件里,而界面定义在main.xml里。
自动生成的逻辑代码(MyAndroid2_3_3Activity.java):
- public class MyAndroid2_3_3Activity extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
- }
Dalvik java与普通java有点不同。出于性能考虑,它的方法默认情况下并不是多态的,除非在方法定义前加入“@Override”注解。一个Activity对象调用setContentView方法可以设置对应的UI。
自动生成的UI代码(main.xml):
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android=""
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/hello"
- />
- </LinearLayout>
这个UI仅仅包含一个TextView,显示了一行文字。查看运行结果:
有没有注意到在main.xml里TextView的text属性值是“@String/hello”,而程序运行时显示的是“Hello World, MyAndroid2_3_3Activity!”?在自动生成的代码里,有一个目录res/values:
打开strings.xml可以看到@string/hello的定义:
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <string name="hello">Hello World, MyAndroid2_3_3Activity!</string>
- <string name="app_name">MyAndroid2_3_3</string>
- </resources>
回到MyAndroid2_3_3Activity.java里的onCreate方法,里面有这行语句:“setContentView(R.layout.main);”这个“R”是什么东西?看到在Gen目录下有个自动生成的R.java文件。
- /* AUTO-GENERATED FILE. DO NOT MODIFY.
- *
- * This class was automatically generated by the
- * aapt tool from the resource data it found. It
- * should not be modified by hand.
- */
- package tommy.myandroid;
- public final class R {
- public static final class attr {
- }
- public static final class drawable {
- public static final int icon=0x7f020000;
- }
- 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;
- }
- }
这个R类的每一个成员都指向一个资源表。不要去改动这个文件。
最后看一下AndroidMenifest.xml,它也是创建工程时自动生成的,是一个Android工程的配置文件,用来向Android系统注册该程序,之后再更详细地介绍,现在暂时先熟悉下。生成的xml里定义了一个Application以及一个Activity:
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android=""
- package="tommy.myandroid"
- android:versionCode="1"
- android:versionName="1.0">
- <uses-sdk android:minSdkVersion="10" />
- <application android:icon="@drawable/icon" android:label="@string/app_name">
- <activity android:name=".MyAndroid2_3_3Activity"
- android:label="@string/app_name">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- </application>
- </manifest>
阅读(904) | 评论(0) | 转发(0) |