如图所示,既是安卓应用程序的结构,也就是目录结构
1.src是源代码目录,所有允许用户修改的java文件和用户自己添加的java文件都保存在这个目录下。
2.gen目录是android1.5以后新加的目录,用来保存ADT自动生成的java文件,例如R.java或者AIDL.java
注:gen目录下R.java文件非常重要
1.R.java文件是ADT自动生成的文件,包含对drawable、layout、和values目录内的资源的引用指针,android程序能够直接通过R类引用目录中的资源。
2.R.java类不能手动修改,如果向资源目录中增加或删除了文件,则需要在工程名上右击,选择Refresh来更新R.java文件。
3.R类包含的几个内部类,分别与资源类型相对应,资源ID便保存在这些内部类中,例如子类drawable表示图像资源,内部的静态变量icon表示资源名称,其资源ID为0x7f020000。一般情况下,资源名称与资源文件名相同。
3.android.jar是android程序所能引用的函数库文件,android通过平台所支持的API都包含在这个文件中。
4.assets目录用来存放原始格式的文件,例如音频文件、视频文件等二进制格式文件,此目录中的资源文件不能被R.java文件索引,所以只能是资源截流的形式读取,一般情况下为空。
5、main.xml文件,是界面布局文件,利用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"
- >
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/hello"
- />
- </LinearLayout>
<?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"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
6、Strings.xml文件是程序中的一些字符串的引用
- <resources>
- <string name="hello">Hello World, HelloAndroid!</string>
- <string name="app_name">HelloAndroid</string>
- </resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, HelloAndroid!</string>
<string name="app_name">HelloAndroid</string>
</resources>
7、AndroidManifest.xml是XML格式的Android程序声明文件,包含了Android系统运行Android程序前所必须掌握的重要信息,这些信息包含应用程序名称、图标、包名称、模块组成、授权和SDK最低版本等,而且每个Android程序必须在根目录下包含一个AndroidManifest.xml文件
注:AndroidMainfest.xml文件:
1) AndroidManifest.xml文件的根元素是manifest,包含了xmlns:android、package、android:versionCode和android:versionName共4个属性
2) xmlns:android定义了Android的命名空间,值为http://schemas.android.com/apk/res/android
3) package定义了应用程序的包名称
4) android:versionCode定义了应用程序的版本号,是一个整数值,数值越大说明版本越新,但仅在程序内部使用,并不提供给应用程序的使用者
5) android:versionName定义了应用程序的版本名称,是一个字符串,仅限于为用户提供一个版本标识
6) manifest元素仅能包含一个application元素,application元素中能够声明Android程序中最重要的四个组成部分,包括Activity、Service、BroadcastReceiver和ContentProvider,所定义的属性将影响所有组成部分
7) 第6行属性android:icon定义了Android应用程序的图标,其中@drawable/icon是一种资源引用方式,表示资源类型是图像,资源名称为icon,对应的资源文件为res/drawable目录下的icon.png
8) 第7行属性android:label则定义了Android应用程序的标签名称
8、default.properties文件记录Android工程的相关设置,该文件不能手动修改,需右键单击工程名称,选择“Properties”进行修改