程序编写 AndroidManifest.xml(工程描述文件) 我们主要关注的就是application里面的配置信息: android:icon: 指此应用程序的图片 在模拟器里面可以看到 : 点击家的按钮接着拉开抽屉可以看到:此图片就在: Res.drawable(般用来存储相关应用的图片以及mp3播放文件等) 目录下 @drawable/icon @代表在当前应用找 android:label android:label='@string/app_name' 即在My_one_And显示的名字 这里会在我们打开values/Strings.xml文件 Hello World, MainActivity!My_One_Android_Project 会发现一个name为app_name的String声明并且其值于我们之前模拟器所显示的标题一样 声名一个Activity类 此类在 .MainActivity下其中点代表com.zxkj.luowei 即之前配置的package='com.zxkj.luowei' 代表My_One_Android_Project 代表一个Action能做些什么事情 这里代表此Activity是第一启动项 一般情况下此name是可以任意改动的 但是除此之外 因为sdk后台会根据这个名字来调如果你改动则找不到了 标志为第一启动项 接下来进入 MainActivity.java类 package com.zxkj.luowei; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } } 会发现我们之前填写的MainActivity 类 继承自 Activity类 并且重写了此类的onCreate(Bundle savedInstanceState)方法 此方法会在实例化此类的时候一并调用(建议了解下Activity的生命周期) import android.os.Bundle 用于映射字符串的值 可以在Android之间进行通讯 super.onCreate(savedInstanceState); 代表调用父类的方法并且将savedInstanceState传给父类 setContentView(R.layout.main); 现在打开R文件 package com.zxkj.luowei; 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; } } 此目录保存了res目录下的所有资源 并且给它们一个标识码 好让程序直接访问 如 public static final class string { public static final int app_name=0x7f040001; public static final int hello=0x7f040000; } 代表Strings.xml文件下生命的String变量 此类是不可以被修改的并且当你更新 res此目录下的文件也同时被更新 如你向drawable丢进去一个文件 会发现: public static final class drawable { public static final int icon=0x7f020000; public static final int qkss=0x7f020001; } 多出一个qkss 然而 setContentView(R.layout.main); 则代表 public static final class layout { public static final int main=0x7f030000; } LinearLayout:这是一个布局信息 标志它所包含的View都是线性布局是 android:orientation: android:orientation='vertical' 可以改成: android:orientation='horizontal' vertical此属性代表View是以垂直进行排序 horizontalvertical此属性代表View是以横向进行排序 android:layout_width: android:layout_width='fill_parent' 可以改成: android:layout_width='wrap_content' fill_parent横向全部填充 wrap_content横向顺其改变(如图片是多大就显示多大) 当然我们还可以为它设置大小如: android:layout_width='61px' android:layout_height与android:layout_width类似 android:text: android:text='@string/hello' 这里text代表是显示什么内容 @string/hello 代表在values/Strings.xml文件里面读取 我们打开values/Strings.xml文件 Hello World, MainActivity!My_One_Android_Project 会发现一个name为hello 的String声明并且其值于我们之前模拟器所显示的内容一样 可能还有些人对于 LinearLayout 布局中的 android:orientation='vertical' android:orientation='horizontal' 这2者不是很了解 好的现在我做一个列子: 将main.xml进行修改部分 这里我多添加了几个Button 即按钮 运行起来:可以看倒这就是线性垂直的效果 再将 android:orientation 改成: android:orientation='horizontal'为什么只看见一个Button呢 按下 Ctrl 不放接着按下F12就知道原因了 现在我们将 改成 意思就是为TextView声明一个标识符(Id) 并且名字是text_Id 查看R文件: public static final class id { public static final int text_Id=0x7f050000; } 会发现多了一个text_Id并且还分配给它一个识别码 此识别码直接指向TextView 现在我们修改MainActivity 的OnCreate方法 package com.zxkj.luowei; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends Activity { /** Called when the activity is first created. */ private TextView one_Text; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); one_Text=(TextView)findViewById(R.id.text_Id); one_Text.setText('Hello Word'); } } private TextView one_Text; 声明一个TextView起名叫one_Text one_Text=(TextView)findViewById(R.id.text_Id); 找到R.id.text_Id标识码的View 在Android里面所有的视图都继承自View这个类 因此在这里我们需要强制转换 one_Text.setText('Hello Word'); 为one_Text设置显示内容为Hello Word