一、 在 eclipse中新建一个 android工程
1、 点击File->New->Project... ,在对话框中选择 Android->Android Project 。点击 Next 。
2、 在Project Name 中输入工程名; Build Target 中勾选要使用的 SDK 版本,因为 Android SDK 向下兼容,建议选择 1.6 版 SDK ,然后可以在其他高级版本上重新编译; Properties 下的 Application Name 填写发布出来的程序的名称, Package Name 填写包名,这个“ Package ”即为 Java 语言里的 package ; Create Activity 中填写 Activity 的名称, Min SDK Version 填写该程序需满足的最低的 SDK 版本,版本号对应于上面 Build Target 中的 API Level 。点击finish,工程建立完毕。
二、Android工程的结构及其说明
1、其结构如下图所示:
src目录:存放自己编写的java源代码文件。
gen目录:存放adt自动生成的java源文件,主要是与资源相关的R.java文件。下面res目录内的所有资源文件如ico、layout下的布局文件main.xml,values目录下的string.xml文件中的内容,都会在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 org.baoyiming; 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; } }
注意其顶部的注释,这个文件是由adt自动生成和管理的,开发人员切勿手动修改它!
assets和res目录都是存放资源文件的,不同之处在于assets的内容不再R.java中生成内容。
res下的drawable-×dpi存放图片,hdpi/mdpi/ldpi分别表示高/中/低分辨率,目的是使图片满足各种不同分辨率的屏幕。
layout目录下的main.xml文件用来存放activity里内容的布局信息。
values下的strings.xml存放一些可以理解为key-value的东西<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, Hello!</string> <string name="app_name">HelloAndroid</string> </resour
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, Hello!</string> <string name="app_name">HelloAndroid</string> </resources>
里面的每一项都在R.java里有对应内容。
AndroidManifest.xml文件存放的是程序的配置信息:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.baoyiming" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="4" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".Hello" 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>
其中manifest标签的package属性存放工程的package name;
uses-sdk的minSdkVersion属性存放Min SDK Version;
application标签下的各个属性值中,‘@aaa/bbb’符号代表的是引用R.java文件中aaa内部类的bbb项的内容;
application的子标签activity标签的属性name=".xxx"表示Activity的名称。
intent-filter的内容以后再讲。