應用程式Manifest介紹

2021-09-08 15:28:45 字數 3430 閱讀 3548

每乙個

android

應用程式包含乙個

manifest

檔案——

androidmanifest.xml

,儲存在工程的根目錄中。該檔案定義了應用程式的結構和元資料以及它們的元件。

它包含元件(

activity

,service

,content provider

和broadcast receiver

)的節點,這些元件構成了整個應用程式。並且使用

intent filter

和permission

,來決定如何相互影響以及對其他應用程式的影響。

它同樣提供了特性來指定應用程式的元資料(像

icon

或者theme

等),另外,還提供了高層節點用來安全設定和單元測試。如下描述:

manifest

檔案由標籤作為根,包含了

package

特性,來設定工程的包名。它通常還包含

xmlns:android

特性,來匯入命名空間,提供一些系統特性。乙個典型的

manifest

節點如下面的

xml片段所示:

[ ... manifest nodes ... ]

標籤包含了應用程式組成部分們的節點,它們是應用程式的元件,安全設定和測試類。下面的列表給出了可獲得的

manifest

標籤節點的概要以及

xml片段的演示:

❑ manifest

檔案只能包含乙個

節點。通過特性設定,指明了應用程式的

title

,icon

,theme

等元資料。同時,它又可以表現為乙個容器,容納

activity

,service

,content provider

,broadcast receiver

的標籤。

❑activity

應用程式中顯示的

activity

都需要定義乙個

activity

標籤,通過

android:name

特性來指定類名。它必須包含啟動

activity

和其他一些螢幕或對話方塊中用到的

activity

。嘗試啟動乙個沒有在

manifest

中定義的

activity

會引發乙個執行時異常。每乙個

activity

節點支援

intent-filter

子標籤來指定哪些

intents

啟動activity。

❑service 和

activity

標籤一樣,為應用程式中用到的

service

(service

的細節將在第

8章描述)類定義乙個

service

標籤。service

標籤同樣支援

intents-filter

子標籤,用來允許後期執行時的繫結。

❑provider

provider

標籤用來標明應用程式中的

content provider

。content provider

用來管理資料庫的訪問以及應用程式間的共享(第

6章中有練習)。

android:name=」.mycontentprovider」

android:enabled=」true」

❑receiver

通過新增

receiver

標籤,你可以在還未啟動應用程式之前註冊乙個

broadcast receiver

。如你在第

5章中所見,

broadcast receiver

就像乙個全域性的事件監聽者,一旦註冊,就會在應用程式廣播相應的

intents

時執行。通過在

manifest

中註冊broadcast receiver

,當相應的

intent

被廣播了,應用程式就會自動地啟動,並且註冊的

broadcast receiver

會執行。

android:label=」my broadcast receiver」

android:name=」.mybroadcastreceiver」>

❑uses-permission

作為安全模型的一部分,

uses-permission

標籤申明了應用程式正確運作所需要的授權。這些授權,包括在安裝期間使用者是否有權操作。裝置本身中包含的許多

android

服務需要授權,尤其是那些需要花錢或安全相關的服務(例如**,收發

sms,或使用本地的服務等)。如下所示,第三方程式,包括你的,在提供共享的程式元件的使用權力之前都可以指定授權。

❑permission

在你限制應用程式元件的使用之前,你需要在

manifest

檔案中定義乙個授權。使用

permission

標籤建立授權定義。應用程式元件通過增加

android:permission

特性來使用它。其他應用程式在使用那些後保護的元件之前,也需要在各自的

manifest

檔案中包含

uses-permission。

使用permission

標籤,你可以指定授權的等級(

normal, dangerous, signature, signatureorsystem

),標籤以及描述(定義在外部資源的字串,解釋得到授權的風險)等。

android:protectionlevel=」dangerous」

android:label=」self destruct」

android:description=」@string/detonate_description」>

❑instrumentation

instrumentation

類為執行時測試

activity

和service

提供了框架。它們提供了鉤子,用來監視應用程式以及和系統資源的互動。為程式中定義的測試類建立節點。

android:name=」.mytestclass」

android:targetpackage=」com.paad.apackage」>

關於manifest

和每個節點的更加詳細描述參見:

adt的新工程嚮導在建立新工程的同時自動的建立了

manifest

檔案。當你為應用程式引入新的元件時,才會回到

manifest

檔案中來。

DirectShow應用程式設計介紹

這篇文章包含兩方面內容 filter graphs 寫乙個dshow應用程式 一 filter graphs dshow的基本軟構件塊是一種叫做filter的元件。a filter一般只執行基於多 資料上的單一的操作。例如,有一些dshow filter有如下功能 1 讀檔案 2 3 為某一種流格式...

ios應用程式和應用程式委託

其實說白了,就是乙個類將自己不願意實現的方法以協議的方式定義,同時在這個類中包含有乙個型別為id 泛型類 的例項變數,如果另乙個類實現了這個協議,那麼另外的這個類就可以作為第乙個類的委託物件,前乙個類將自己不願意實現的類委託給後乙個類。因為第乙個類擁有第二個類的引用,所有第乙個類的例項可以直接呼叫第...

python啟動應用程式和終止應用程式

每天上班,工作需要,電腦上需要每天開機啟動一些軟體,下班時候,需要關掉一些軟體。乙個乙個開啟和關閉貌似是很繁瑣的,於是乎,這個指令碼產生了。系統環境 win7 32位 python 2.7.9 你還需要安裝pywin32。pip install pywin32 啟動應用程式指令碼 coding ut...