1.      重要目录文件:

a)        Src/:源代码目录

b)        Gen/:系统自动生成代码的目录

c)        Res/:存放图片、布局、字符串等资源

d)        AndroidManifest.xml:应用程序配置文件

2.      res下有五个drawable的目录,分别是xxhdpi,xhdpi,hdpi,mdpi,ldpi,在运行时,系统会自动监测安卓程序的分辨率,然后选择合适的图片(吐槽一下安卓的碎片化……),但是也可以将相同的图片文件放入这五个文件夹。

3.      res/values目录下有:

a)        strings.xml,用于存放应用中出现的字符串,这样可以为多次出现的字符串节省内存,并且也便于以后的修改。

b)        colors.xml,用来定义颜色和数值。

c)        dimens.xml,用来定义尺寸和数据,也是方便以后的修改。

d)        styles.xml,用来定义样式。

4.      res/layout目录下存放了个应用的布局文件,采用xml格式编写,具体的使用方法会在以后的章节介绍。

5.      gen/R:自动生成的文件,会对应用中的每个静态内部类中的静态常量(就是drawable,layout,string那些东西)赋予一个资源标识符(ID),在java里可以按照R.ResourceType.ResourceName来引用该资源(PS:Android自身自带资源引用方法为:Android.ResourceType.ResourceName)。在xml文件中引用为@[package:]type/name,一般使用自己的包时,省略[pakage:],例如引用应用名:@string/app_name,但是当引用安卓自身资源时,要加上包名:@Android:color/blue。

6.      AndroidManifest.xml:

a)        命名应用程序的java应用包,描述应用程序的组件,决定应用程序权限,声明系统API最低版本等

b)        例如以下一段代码:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.test"
    android:versionCode="1"
    android:versionName="0.0 beta" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="14" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.test.MainActivity"
            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>



a)        Android:versionCode是版本号,Android:versionName是版本名称,每次升级,版本号都应比上一次大,而版本名称可以自行决定。

b)        Application:label表示应用名称,就是由@sting/app_name的值来决定的。

c)        Activity标签中,name是表示本activity的类名,而label是用来表示本activity的显示名称。

d)        Intent-filter为意图过滤器,每一个进程都要向系统声明自己能相应的意图,这样在有用户意图产生时系统才知道应该激活哪个应用,如:<categoryandroid:name="android.intent.category.LAUNCHER" />这段代码,它表示该进程能够响应启动,说明它是应用程序的入口。

e)        Permissions标签用于表明该应用所需要的权限,由于默认程序并没有额外的权限,所以以上代码中并未出现permissions的标签,该标签内容会在以后提到。

f)         如果该程序用到了其他开发包中的库,那么还需要在<application>中加入一个<uses-library>的标签,例如:<uses-library android:name=”android.test.runner” />