先瞭解一下AndroidManifest.xml。就是功能資訊清單檔。(以後廣播接收器、音樂播放器,都是在這定義)
這個設定檔就類似於struts的struts-config.xml,還好學過struts2,依葫蘆畫瓢,也明白這個設定檔的大概意思。
各屬性的意思大致如下:
manifest
根節點,描述了package中所有的內容。在它之下能放置:
uses-permission
請求你的package正常運作所需賦予的安全許可。見SecurityModel來獲得許可的更多的資訊。一個manifest能包含零個或更多此元素。
permission
聲明了安全許可來限制哪些程式能你package中的組件和功能。見SecurityModel來獲得許可的更多的資訊。一個manifest能包含零個或更多此元素。
instrumentation
聲明了用來測試此package或其他package指令組件的代碼。見Instrumentation來獲得許可的更多的資訊。一個manifest能包含零個或更多此元素。
application
包含package中application層級組件聲明的根節點。此元素也可包含application中全域和預設的屬性,如標籤,icon,主題,必要的許可權,等等。一個manifest能包含零個或一個此元素(不允許多餘一個)。在它之下能放置零個或更多下列組件聲明:
activity
Activity是用來與使用者互動的主要工具。當使用者開啟一個應用程式的初始頁面時一個activity,大部分被使用到的其他頁面也由不同的activity所實現並聲明在另外的activity標記中。
注意:每一個activity必須要一個<activity>標記對應,無論它給外部使用或是只用於自己的package中。如果一個activity沒有對應的標記,你將不能運行它。
另外,為了支援運行時遲尋找你的activity,你能包含一個或多個<intent-filter>元素來描述你activity所支援的操作:
intent-filter
聲明了指定的一組組件支援的Intent值,從而形成了IntentFilter。除了能在此元素下指定不同類型的值,屬性也能放在這裡來描述一個操作所需的唯一的標籤,icon和其它資訊。
action
組件支援的Intentaction。
category
組件支援的IntentCategory.
type
組件支援的Intentdata MIME type.
schema
組件支援的Intentdata URI scheme.
authority
組件支援的Intentdata URI authority.
path
組件支援的Intentdata URI path.
receiver
IntentReceiver能使的application獲得資料的改變或者發生的操作,即使它當前不在運行。利用activity標記,你能選擇地包含一個或多個receiver所支援的<intent-filter>元素;
service
Service是能在後台運行任意時間的組件。利用activity標記,你能選擇地包含一個或多個receiver所支援的<intent-filter>元素;
provider
ContentProvider是用來管理持久化資料並發布給其他應用程式使用的組件。