在Android基於組件的應用設計架構中,配置文件是一個很重要的元素。它將應用所包含的組件、各組件的能力和配置以及應用環境介紹給Android框架層的各個服務,讓Android知道如何去調度應用中的各個組件。Android的配置文件就像一本書的目錄,它會告訴我們里面有什么內容。

一、權限設置
應用通過配置文件聲明其所需權限,以訪問其應用或系統中的受限資源。這些權限聲明會在應用安裝時告知用戶,用戶可以根據這些信息決定是否要安裝該應用。
添加權限,如
<!-- 添加讀取聯系人記錄的權限 --> <uses-permission android:name="android.permission.READ_CONTACTS" />
如果開發者需要定義權限來限制第三方應用的訪問,則可以通過<permission>配置項來進行定義,在上次的廣播組件中有過一次應用,不知道大家還記得否。
<permission android:name="com.example.test" android:label="權限的名字" android:description="權限的具體描述" android:permissionGroup="android.permission-group.COST_MONEY" android:protectionLevel="normal"> </permission>
定義了的權限還需要部署到對應的組件上才能生效。組件管理系統在構造一個組件對象時,會檢驗請求組件的權限聲明是否與該組件的權限配置相匹配,如果匹配失敗,會拋出異常阻止這次調用。
二、環境配置
每個應用都會有它所依賴的軟硬件環境。有點應用實現會依賴特定版本的SDK,而有的應用則需要一些特定硬件的支持。應用所依賴的軟硬件信息,都需要在配置文件的環境配置部分聲明。
使用配置項<uses-sdk>,可以聲明應用所依賴的SDK版本信息。而<users-feature>配置項,則用於聲明應用所依賴的外設或Android的特色功能。比如,一款主打拍照功能的應用需要聲明所安裝設備要有相機
<uses-feature android:name="android.hardware.camera"/>
此外,<uses-configuration>配置項,用於描述應用所需的輸入設備配置;<supports-screens>配置項,用於聲明應用所依賴的屏幕設置。對輸入或顯示有特殊需求的應用,都需要聲明這些配置項。
三、應用和組件配置
配置文件的核心部分就是對應用及其各組件的特征的描述。應用中的各個組件都會有其調用和運行的需求,在配置文件中需要對這些信息進行描述,幫助Android系統服務知曉如何調度這些組件。配置文件對組件的描述,主要包括幾個方面。
(1)基本信息描述
每個組件都會有一些最基本的配置信息,包括該組件對應的實現類名name、組件名字label、組件圖標icon等。
(2)接口描述
每個組件的功能都是在配置文件中進行描述的。界面組件,服務組件和廣播組件都是通過Android的Intent進行連接的每個組件的配置信息中,都可以放置若干個<intent-filter>項,表達該組件可以處理的Intent對象。
(3)運行模型描述
在默認情況下,各個組件都會運行與應用的主線程中;在一些特殊情況下,需要將某些組件放在特定的進程中執行,可以通過process項來設置。
(4)權限描述
通過組件的permission參數進行設置。
(5)元數據描述
任意存放鍵值對信息,主要用於告知系統為組件附加一些系統功能。比如,如果想為組件綁定特定的搜索模塊,就可以通過<meta-data>進行配置。
(6)可用性描述
某些參數在應用安裝后會處於不可用的狀態。這就需要通過組件配置中的enable參數進行設置。而某些組件僅能被應用本身使用,就需要將exported參數設為false。
除此以外,還有<uses-library>,用於聲明應用需要鏈接的附加類庫。
額,這篇算是組件部分的附加篇吧,讓大家了解如何在配置文件中注冊組件以及其他信息。
參考文章:AndroidManifest.xml配置文件詳解 http://blog.chinaunix.net/uid-9185047-id-3460344.html
========================================
作者:cpacm
地址:http://www.cnblogs.com/cpacm/p/3935268.html
