欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Android項目中Manifest.xml文件有什么用

Android項目中Manifest.xml文件有什么用?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)公司作為成都網(wǎng)站建設(shè)公司,專注網(wǎng)站建設(shè)公司、網(wǎng)站設(shè)計,有關(guān)企業(yè)網(wǎng)站設(shè)計方案、改版、費用等問題,行業(yè)涉及成都白烏魚等多個領(lǐng)域,已為上千家企業(yè)服務,得到了客戶的尊重與認可。

Android 中Manifest.xml文件

每一個Android項目都包含一個清單(Manifest)文件--AndroidManifest.xml,它存儲在項目層次中的最底層。清單可以定義應用程序及其組件的結(jié)構(gòu)和元數(shù)據(jù)。

它包含了組成應用程序的每一個組件(活動、服務、內(nèi)容提供器和廣播接收器)的節(jié)點,并使用Intent過濾器和權(quán)限來確定這些組件之間以及這些組件和其他應用程序是如何交互的。

它還提供了各種屬性來詳細地說明應用程序的元數(shù)據(jù)(如它的圖標或者主題)以及額外的可用來進行安全設(shè)置和單元測試頂級節(jié)點,如下所述。

清單由一個根manifest標簽構(gòu)成,該標簽帶有一個設(shè)置項目包的package屬性。它通常包含一個xmlns:android屬性來提供文件內(nèi)使用的某些系統(tǒng)屬性。下面的XML代碼段展示了一個典型的聲明節(jié)點:

<manifest xmlns:android=http://schemas.android.com/apk/res/android 
  package="com.my_domain.my_app"> 
  [ ... manifest nodes ... ] 
</manifest>

manifest標簽包含了一些節(jié)點(node),它們定義了應用程序組件、安全設(shè)置和組成應用程序的測試類。下面列出了一些常用的manifest節(jié)點標簽,并用一些XML代碼段說明了它們是如何使用的。

1.application

一個清單只能包含一個application節(jié)點。它使用各種屬性來指定應用程序的各種元數(shù)據(jù)(包括標題、圖標和主題)。它還可以作為一個包含了活動、服務、內(nèi)容提供器和廣播接收器標簽的容器,用來指定應用程序組件。

<application 
  android:icon="@drawable/icon"
  android:theme="@style/my_theme">
  [ ... application nodes ... ]
 </application>

2.activity

應用程序顯示的每一個Activity都要求有一個activity標簽,并使用android:name屬性來指定類的名稱。這必須包含核心的啟動Activity和其他所有可以顯示的屏幕或者對話框。啟動任何一個沒有在清單中定義的Activity時都會拋出一個運行時異常。每一個Activity節(jié)點都允許使用intent-filter子標簽來指定哪個Intent啟動該活動。

<activity 
  android:name=".MyActivity"
  android:label="@string/app_name">
  <intent-filter>
    <action
      android:name="android.intent.action.MAIN" />
    <category
      android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>

3.provider

provider標簽用來說明應用程序中的每一個內(nèi)容提供器。內(nèi)容提供器是用來管理數(shù)據(jù)庫訪問以及程序內(nèi)和程序間共享的。

<provider
   android:permission="com.liujc.MY_PERMISSION"
   android:name=".MyContentProvider"
   android:enabled="true"
   android:authorities="com.liujc.myapp.MyContentProvider">
</provider>

4.receiver

通過添加receiver標簽,可以注冊一個廣播接收器(Broadcast Receiver),而不用事先啟動應用程序。廣播接收器就像全局事件監(jiān)聽器一樣,一旦注冊了之后,無論何時,只要與它相匹配的intent被應用程序廣播出來,它就會立即執(zhí)行。通過在聲明中注冊一個廣播接收器,可以使這個進程實現(xiàn)完全自動化。如果一個匹配的Intent被廣播了,則應用程序就會自動啟動,并且你注冊的廣播接收器也會開始運行。

<receiver
   android:enabled="true" 
   android:label="My Broadcast Receiver"
   android:name=".MyBroadcastReceiver">
</receiver>

5.service

Service作為Android四大組件之一,在每一個應用程序中都扮演著非常重要的角色。它主要用于在后臺處理一些耗時的邏輯,或者去執(zhí)行某些需要長期運行的任務。

<service 
  androidandroid:enabled="true"
  android:name=".MyService">
</service>

6. uses-permission

作為安全模型的一部分,uses-permission標簽聲明了那些由你定義的權(quán)限,而這些權(quán)限是應用程序正常執(zhí)行所必需的。在安裝程序的時候,你設(shè)定的所有權(quán)限將會告訴給用戶,由他們來決定同意與否。對很多本地Android服務來說,權(quán)限都是必需的,特別是那些需要付費或者有安全問題的服務(例如,撥號、接收SMS或者使用基于位置的服務)。如下所示,第三方應用程序,包括你自己的應用程序,也可以在提供對共享的程序組件進行訪問之前指定權(quán)限。

<uses-permission android:name="android.permission.ACCESS_LOCATION"> </uses-permission>

7.permission

在可以限制訪問某個應用程序組件之前,需要在清單中定義一個permission。可以使用permission標簽來創(chuàng)建這些權(quán)限定義。然后,應用程序組件就可以通過添加android:permission屬性來要求這些權(quán)限。再后,其他的應用程序就需要在它們的清單中包含uses-permission標簽(并且通過授權(quán)),之后才能使用這些受保護的組件。

在uses-permission標簽內(nèi),可以詳細指定允許的訪問權(quán)限的級別(normal、dangerous、signature、signatureOrSystem)、一個 label屬性和一個外部資源,這個外部資源應該包含了對授予這種權(quán)限的風險的描述。

<permission
   android:name="com.liujc.DETONATE_DEVICE"
   android:protectionLevel="dangerous"
   android:label="Self Destruct"
   android:description="@string/detonate_description">
</permission>

8.instrumentation

instrumentation類提供一個框架,用來在應用程序運行時在活動或者服務上運行測試。它們提供了一些方法來監(jiān)控應用程序及其與系統(tǒng)資源的交互。對于為自己的應用程序所創(chuàng)建的每一個測試類,都需要創(chuàng)建一個新的節(jié)點。

<instrumentation
  android:label="My Test"
  android:name=".MyTestClass"
  android:targetPackage="com.liujc.test">
</instrumentation>

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。

網(wǎng)站標題:Android項目中Manifest.xml文件有什么用
路徑分享:http://www.chinadenli.net/article40/gisjeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站定制開發(fā)微信小程序定制網(wǎng)站移動網(wǎng)站建設(shè)ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設(shè)