AndroidManifest.xml配置文件介紹
本質:AndroidManifest.xml是整個應用的主配置清單文件。
包含:該應用的包名、版本號、組件、權限等信息。
做用:記錄該應用的相關配置信息。
AndroidManifest.xml的位置node
重新建一個Android工程開始,AndroidManifest.xml就已經出現了android
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.i.helloworld" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.i.helloworld.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>
AndroidManifest.xml經常使用標籤解讀
(1)全局篇(包名、版本信息)
(2)組件篇(四大組件)
(3)權限篇(申請權限和定義權限)數據庫
全局篇
(1)應用的包名以及版本信息的管理
package="com.i.helloworld"
android:versionCode="1"
android:versionName="1.0"
(2)控制android版本信息(能夠支持的最低版本、你指望的系統版本)
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />安全
組件篇 -- 在配置文件中註冊組件
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
[ ... application nodes ... ]
</application>
其屬性能夠設置:
圖標:android:icon
標題:android:label
主題樣式:android:theme
只能包含一個application節點app
Activity(活動)
<activity
android:name="com.i.helloworld.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />ide
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
android:name="com.i.helloworld.MainActivity" 經過這句話在清單中定義一個activity
啓動一個沒有在清單中頂一個activity都會拋出異常
<intent-filter>起的名片或者過濾器的做用
<intent-filter>
<action android:name="android.intent.action.MAIN" />函數
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
這裏這個intent-filter接貨了主函數啓動的時候和第一次登錄的做用spa
Service(服務)
<service ...>
activity能夠用來顯示界面;Service只是走位一個後臺邏輯的處理。code
Content Provider(內容提供者)
<provider ...>
內容提供者用來管理數據庫訪問以及程序內和程序間共享。
Broadcast Receiver(廣播接收者)
<receiver ...>
至關於一個全局事件的監聽器,一旦咱們在配置文件中註冊之後,它就至關於一個面向全局的監聽器。一旦它所匹配的intent被傳播出來,它就會當即被執行。xml
權限篇
設置權限方式:
在AndroidManifest.xml的下方選擇permissions標籤-->add。。。
(1)使用系統權限
<uses-permission>申請權限
聲明瞭哪些是由你定義的權限,而這些權限是應用程序正常執行所必需的。在安裝程序的時候,你設定的全部權限將會告訴給用戶,由他們來決定贊成與否。對不少本地Android服務來講,權限都是必需的,特別是那些須要付費或者有安全問題的服務(例如,撥號、接受SMS或者使用基於位置的服務)
(2)自定義權限
除了系統權限,咱們也可使用自定義權限
使用權限:
<activity
android:permission="xxx"
...
前提是要先在<uses-permission>中先申請權限
總結注意事項1.每一個組件都必須包含android:name這個屬性,推薦用券名稱(包名.類名),intent-filter(過濾器)能夠選寫。2.四大組件中除了BroadcastReceiver可使用代碼聲明註冊之外,其餘組件必需要在Manifest文件中進行聲明配置,不然會報錯3.可使用alt+/的組合快捷鍵,經過代碼提示加快書寫效率4.android的系統權限有不少,不用所有記憶,只須要會像查字典同樣,學會查詢和使用就能夠了