\Android/ Manifest.xml 簡介 & Tag

簡介說明 :

是一個用來描述App的整體資訊設定的XML檔,可向 Android 系統顯示應用程式的基本資訊,也就是系統在執行該應用程式的任何程式碼之前必須具備的資訊。

Manifect.xml 功能 :

Intent Filters 詳情請配合參閱\Android/ Intent應用

應用程式元件是由 Intent 來啟動,用以指明要執行的活動(activity)與動作(action)。其中包含了活動名稱、所需資料、要執行本活動的元件分類、適當的指令。activity 程式碼中的 intent 直接指明,優先於 <intent-filter>

<intent-filter>: 表示所能處理的 intent有哪些。

Icons and Labels

android:icon(圖示) 與android:label(標題) 即是其內所有元素的預設值。

Permissions

告所需的許可權,用來限制程式與資料的存取,以避免遭到誤用,而產生不良後果。每個許可權的識別碼都是唯一的。一個功能特徵只能使用一個許可權來保護它。

Libraries

當應用程式所用到的 package 位於不同的函式庫內,此時需指明所用到的函式庫。
每一個函式庫都需使用一個 <uses-library> 來單獨宣告。

主要架構 :

<?xml version="1.0" encoding="utf-8"?>
<manifest>

<!-- 0. 軟體預設值 -->

    <uses-permission /> 
   	<permission />
   	<permission-tree />
   	<permission-group />
      	<instrumentation />
   	<uses-sdk />
   	<uses-configuration /> 
   	<uses-feature />  
   	<supports-screens />  
   	<compatible-screens />  
   	<supports-gl-texture />  

	<!-- 1. Application-->
   	<application>
   	
       	<!-- 1-1. Activity -->
       	<activity>
       	    <intent-filter>
       	        <action />
       	        <category />
       	        <data />
       	    </intent-filter>
       	    <meta-data />
       	</activity>

        <activity-alias>
   	        <intent-filter> . . . </intent-filter>
       	    <meta-data />
       	</activity-alias>

       	<!-- 1-2. Service -->	
       	<service>
       	    <intent-filter> . . . </intent-filter>
           	<meta-data />
       	</service>

		<!-- 1-3. 廣播接收器 -->	
       	<receiver>
       	    <intent-filter> . . . </intent-filter>
       	    <meta-data />
       	</receiver>

		<!-- 1-4. 內容供應程式 -->
       	<provider>
           	<grant-uri-permission />
           	<meta-data />
           	<path-permission />
       	</provider>

       	<uses-library />

   	</application>

</manifest>
0. 軟體預設值
permission 同意權限功能 –>

<uses-permission>: 若應用程式要使用的功能特徵是受到許可權所保護的。

<permission>:應用程式若想要自訂許可權來保護內部元件。

<permission-tree>:幫一組許可權宣告一個 namespace 並定義在程式碼中。

<permission-group>:宣告群組名稱,然後在 元素的屬性 permissionGroup 指定群組名稱,以便將數個許可權歸納在同一群組。

硬體宣告 –>

<uses-feature>: 運用硬體或軟體功能時所做的宣告:Blueteeth, camera…

1. Application 應用程式
1-1. Activity 活動

<activity>:實作應用程式有畫面呈現的功能,沒聲明將不會被運行。

<activity-alias>:android里為了重複使用Activity而設計的。由於它是 的別名,因此必須跟在該元素的後面

1-2. Service 服務

<service>:實作應用程式長時間後台運行,沒聲明將不會被運行。

1-3. receiver 廣播接收器

<receiver>:能夠接收由所述系統或其它應用程序的廣播。

1-4. provider 內容供應程式

<provider>:能夠提供由所述系統或其它應用程序的廣播。


[ 延伸閱讀 標籤字典 ]

參考來源
  1. 灼眼のFate【Android】技巧 6 – Android 禁止屏幕旋转 & 屏幕旋转不刷新 Activity & 动态更改屏幕方向
  2. 應用程式manifest-intro | Android Developers
  3. App Manifest 介紹- Android App 學習筆記
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s