阿里云?>?教程中心??>??android教程?>?必看關(guān)于AndroidMainfest.xml,androidmainfest詳解、總結(jié),概括了解?
必看關(guān)于AndroidMainfest.xml,androidmainfest詳解、總結(jié),概括了解
發(fā)布時(shí)間:2018-01-18 來(lái)源:網(wǎng)絡(luò) 上傳者:用戶
關(guān)鍵字:?AndroidMainfest?概括?詳解?了解?總結(jié)?關(guān)于?XML
摘要:每個(gè)android項(xiàng)目都包含一個(gè)AndroidMainfest.xml文件,它包含了組成應(yīng)用程序的每一個(gè)Acitivity、Service、ContentProvider和BroadcastReceiver的節(jié)點(diǎn),并使用IntentFilter和權(quán)限來(lái)確定這些組件之間以及這些組件和其他應(yīng)用程序是如何交互的。1.根節(jié)點(diǎn)manifest:package屬性:當(dāng)前應(yīng)用的包名versionCode屬性:將當(dāng)前應(yīng)用程序的版本定義為一個(gè)整數(shù),每次版本迭代時(shí),該數(shù)字都會(huì)增加versionN
每個(gè)android項(xiàng)目都包含一個(gè)AndroidMainfest.xml文件,它包含了組成應(yīng)用程序的每一個(gè)Acitivity、Service、Content Provider和Broadcast Receiver的節(jié)點(diǎn),并使用Intent Filter 和權(quán)限來(lái)確定這些組件之間以及這些組件和其他應(yīng)用程序是如何交互的。
1.根節(jié)點(diǎn)manifest:
package屬性:當(dāng)前應(yīng)用的包名
versionCode屬性:將當(dāng)前應(yīng)用程序的版本定義為一個(gè)整數(shù),每次版本迭代時(shí),該數(shù)字都會(huì)增加
versionName屬性:定義一個(gè)顯示給用戶的公共版本號(hào)
installLocation屬性:指定是否允許(或者首選)將應(yīng)用程序安裝到外部存儲(chǔ)器(通常為SD卡)。其值可以為:preferExternal或auto,使用前者,只要有可能就會(huì)把應(yīng)用程序安裝在外部存儲(chǔ)器上,后者則由系統(tǒng)決定。若不指定installLocation屬性,則將當(dāng)前應(yīng)用安裝到內(nèi)部存儲(chǔ)器,而不能將其移動(dòng)到外部存儲(chǔ)器。
如:
??? package="cn.csc.mydemo"
??? android:versionCode="1"
android:versionName="1.0 Beta"
android:installLocation=”preferExternal”>
2.manifest的常見(jiàn)子節(jié)點(diǎn):
1)uses-sdk:
如:
??????? android:minSdkVersion="10"
??????? android:targetSdkVersion="14" />
minSdkVersion屬性:指定應(yīng)用要求的最低SDK版本,未指定,則默認(rèn)為1
maxSdkVersion屬性:最高SDK版本,一般最好不要指定,除非知道應(yīng)用在更新版本的平臺(tái)上肯定不能正確運(yùn)行。
targetSdkVersion屬性:用于指定開(kāi)發(fā)和測(cè)試中所使用的平臺(tái)版本。即使應(yīng)用程序沒(méi)有使用任何新的API,也應(yīng)當(dāng)將目標(biāo)SDK設(shè)為最新的平臺(tái)版本,這被認(rèn)為是一種最佳實(shí)踐。
2)uses-permission:
配置應(yīng)用程序所需要的權(quán)限,在安裝應(yīng)用程序時(shí),設(shè)定的所有權(quán)限將會(huì)告訴給用戶,由他們來(lái)決定是否同意安裝使用。
如:需要網(wǎng)絡(luò)權(quán)限
3)instrumentation:
單元測(cè)試時(shí),用到
如:
??????? android:name="android.test.InstrumentationTestRunner"
??????? android:targetPackage="cn.csc.demo" />指定要測(cè)試的包名
4)application:
一個(gè)mainfest文件只能有一個(gè)application節(jié)點(diǎn),它的屬性和子節(jié)點(diǎn)都比較常用
3.application節(jié)點(diǎn):
如:
??????? android:icon="@drawable/ic_launcher"
??????? android:label="@string/app_name" >
icon屬性:指定當(dāng)前應(yīng)用程序的圖標(biāo)
label屬性:指定當(dāng)前應(yīng)用程序的標(biāo)題
1)activity子節(jié)點(diǎn):
??????????? android:name=".MainActivity"
??????????? android:label="@string/app_name" >
???????????
???????????????
???????????????
應(yīng)用程序中用到的每一個(gè)Activity都要求有一個(gè)Activity子節(jié)點(diǎn),啟動(dòng)一個(gè)沒(méi)有在Manifest中定義的Activity時(shí)都會(huì)拋出一個(gè)運(yùn)行時(shí)異常。每個(gè)Activity節(jié)點(diǎn)都允許使用intent-filter子節(jié)點(diǎn)來(lái)定義用于啟動(dòng)該Activity的Intent。
name屬性:指定Activity類的名字
2)service子節(jié)點(diǎn):應(yīng)用程序使用的service
3)provider子節(jié)點(diǎn):應(yīng)用程序使用的Content Provider
4)receiver子節(jié)點(diǎn):引用程序使用的Broadcast Receiver
5)uses-library子節(jié)點(diǎn):用于指定應(yīng)用程序需要的共享庫(kù)
以上是必看關(guān)于AndroidMainfest.xml,androidmainfest詳解、總結(jié),概括了解的內(nèi)容,更多?AndroidMainfest?概括?詳解?了解?總結(jié)關(guān)于?XML?的內(nèi)容,請(qǐng)您使用右上方搜索功能獲取相關(guān)信息。