每乙個
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...