本文來自我的個人網站,如有興趣,歡迎訪問www.qingshuimonk.com!
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” />