共計(jì) 1974 個(gè)字符,預(yù)計(jì)需要花費(fèi) 5 分鐘才能閱讀完成。
這篇文章主要介紹“manifest 文件的作用是什么”,在日常操作中,相信很多人在 manifest 文件的作用是什么問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”manifest 文件的作用是什么”的疑惑有所幫助!接下來,請(qǐng)跟著丸趣 TV 小編一起來學(xué)習(xí)吧!
manifest 文件的作用是聲明組件,并指定 app 的一些權(quán)限(permission)和 instrumentation(安全控制和測(cè)試);manifest 作為整個(gè) Android 應(yīng)用的入口,其 Manifest.xml 描述了 package 中暴露的組件,他們各自的實(shí)現(xiàn)類,各種能被處理的數(shù)據(jù)和啟動(dòng)位置。
Android——Manifest.xml 文件的作用
每一個(gè) Android 的 APP 都會(huì)有一個(gè)重要的文件,那就是下面截圖中的 Manifest 文件,這個(gè)文件有很多作用,是整個(gè)應(yīng)用的入口,接下來將詳細(xì)講解一下
整體介紹:作為整個(gè) Android 應(yīng)用的入口,Manifest.xml 描述了 package 中暴露的組件,他們各自的實(shí)現(xiàn)類,各種能被處理的數(shù)據(jù)和啟動(dòng)位置。除了四大組件的聲明,還指定了 app 的一些權(quán)限(permission)和 instrumentation(安全控制和測(cè)試)。
1. Manifest 屬性
package:指定應(yīng)用中 java 主程序的包名,這個(gè)也是整個(gè)應(yīng)用程序默認(rèn)的名稱
還有一些常用的可以加進(jìn)去
android:versionCode = 1:版本號(hào)
android:versionName= first version:版本名字
android:installLocation=[auto | internalOnly | preferExternal]:幾個(gè)選項(xiàng),分別是 auto 自動(dòng)選擇安裝位置,internalOnly 必須安裝在 ROM 上,preferExternal 優(yōu)先安裝到 SD 卡上面去
2. permission 屬性
uses-sdk: 這里是對(duì)最小版本 sdk 的要求
各種需要的 permission 權(quán)限都需要添加到文件中。
3. application 屬性:聲明一個(gè)應(yīng)用程序的組件及其屬性(icon,label,permission 等等)
基本上大多數(shù)在生成 project 的時(shí)候就會(huì)默認(rèn)生成,一般的開發(fā)者也不需要多管
android:allowBackup: 允許用戶通過 adb backup 和 adb restore 來進(jìn)行對(duì)應(yīng)數(shù)據(jù)的備份和恢復(fù)。
android:label:project 的工程名字
android:roundIcon: 現(xiàn)在 android 新建項(xiàng)目一般有兩個(gè)圖標(biāo),一個(gè)是 icon(普通圖標(biāo)),一個(gè)是 roundIcon(圓形圖標(biāo))。
android:supportsRtl: 是否支持 right-to-left 布局,API 17 新添加的功能
android:theme: android 應(yīng)用的風(fēng)格,可以自定義風(fēng)格,上面的是默認(rèn)風(fēng)格
4. Activity 屬性
一個(gè)最簡(jiǎn)單的 activity 聲明就是上圖所示,一般 activity 的生命會(huì)自動(dòng)添加
android:launchMode,Activity 的加載模式,一共有四種,在我的另一篇文章中講到過
android:multiprocess:是否允許多進(jìn)程,默認(rèn)是 false 的
android:screenOrientation:顯示模式,默認(rèn)是 unspecified(自動(dòng)調(diào)整方向)
這里列舉了幾個(gè)常用的,當(dāng)然還有很多很多 activity 屬性,這里不再一一贅述
5. intent-filter 屬性
這個(gè)當(dāng)時(shí)被問到這個(gè)問題,問我 filter 有什么屬性,常見的屬性就這兩種,結(jié)果面試官說有三種,回來看了一下,真的有三種
action,只有 android:name 這個(gè)屬性,常見的也就是上圖所示,表示這個(gè) activity 是程序的入口
category,也只有一個(gè) android:name 屬性,決定應(yīng)用程序是否顯示在程序列表中
data,就是這個(gè)東西,貌似可以在這里存一下元數(shù)據(jù),當(dāng)在程序中需要的時(shí)候可以獲取他的 value 值。就是下面這個(gè)結(jié)構(gòu)
當(dāng)然 intent-filter 本身也有一些屬性
android:icon
android:label
android:priority=“Integer” 有序廣播按聲明的優(yōu)先級(jí)來進(jìn)行,取值范圍是 -1000 到 1000,數(shù)字越大優(yōu)先級(jí)越高
6. 其他的三大組件,除了 BroadcastReceiver 可以動(dòng)態(tài)注冊(cè)外,都需要在 manifest.xml 中進(jìn)行注冊(cè),這里不再一一贅述各自的屬性,貼一張 service 的圖
到此,關(guān)于“manifest 文件的作用是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注丸趣 TV 網(wǎng)站,丸趣 TV 小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!