AndroidManifest.xml是清單文件,它存儲在項目層次中的最底層。清單可以定義應用程序及其組件的結構和元數據。
它包含了組成應用程序的每一個組件(活動、服務、內容提供器和廣播接收器)的節點,並使用Intent過濾器和權限來確定這些組件之間以及這些組件和其他應用程序是如何交互的,其各模塊分析如下所示:
第一、第一層(<Manifest>):(屬性)
[cpp]
<span style="font-size:18px"><manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.richard"
android:versionCode="1"
android:versionName="1.0" ></span>
1、xmlns:android
定義android命名空間,一般為http://schemas.android.com/apk/res/android,這樣使得Android中各種標准屬性能在文件中使用,提供了大部分元素中的數據。
2、package
指定本應用內java主程序包的包名,它也是一個應用進程的默認名稱
3、versionCode
是給設備程序識別版本(升級)用的必須是一個interger值代表app更新過多少次,比如第一版一般為1,之後若要更新版本就設置為2,3等等。。。
4、versionName
這個名稱是給用戶看的,你可以將你的APP版本號設置為1.1版,後續更新版本設置為1.2、2.0版本等等。。。
第二、第二層(<Application>):屬性
一個AndroidManifest.xml中必須含有一個Application標簽,這個標簽聲明了每一個應用程序的組件及其屬性(如icon,label,permission
[cpp]
<span style="font-size:18px"> <application
android:allowBackup="true"
android:icon="@drawable/background"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
</application></span>
1.icon表示在手機中顯示的圖標
2.label表示在手機中顯示圖標上面的表示
3. theme表示是一個資源的風格,它定義了一個默認的主題風格給所有的activity,當然也可以在自己的theme裡面去設置它,有點類似粘貼文本style。
第三、(<Activity>):屬性
[cpp]
<span style="font-size:18px"> <activity
android:name="com.example.richard.MainMainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity></span>
應用程序顯示的每一個Activity都要求有一個activity標簽,並使用android:name屬性來指定類的名稱。這必須包含核心的啟動Activity和其他所有可以顯示的屏幕或者對話框。啟動任何一個沒有在清單中定義的Activity時都會拋出一個運行時異常。每一個Activity節點都允許使用intent-filter子標簽來指定哪個一個應用程序可以有多個Activity,每個Activity是同級別的,那麼在啟動程序時,最先啟動哪個Activity呢?有些程序可能需要顯示在程序列表裡,有些不需要。怎麼定義呢?
android.intent.action.MAIN
決定應用程序最先啟動的Activity
android.intent.category.LAUNCHER
決定應用程序是否顯示在程序列表裡
第四層<meta-data>
<meta-data android:name="string"
android:resource="resource specification"
android:value="string"/>
這是該元素的基本結構.可以包含在<activity> <activity-alias> <service> <receiver>四個元素中。
android:name(解釋:元數據項的名字,為了保證這個名字是唯一的,采用java風格的命名規范,如com.woody.project.fried)
android:resource(解釋:資源的一個引用,指定給這個項的值是該資源的id。該id可以通過方法Bundle.getInt()來從meta-data中找到。)
android:value(解釋:指定給這一項的值。可以作為值來指定的數據類型並且組件用來找回那些值的Bundle方法:[getString],[getInt],[getFloat],[getString],[getBoolean])