Android 專案架構,什麼是AndroidManifest.xml?

一個APP就是一個應用程式專案,在Android Studio中可進行APP的畫面設計、程式設計與測試等工作。一個專案有三個要項,說明如下:

  1. AndroidManifest.xml載運清單檔案

  2. Java類別

  3. 資源

AndroidManifest.xml 載運清單

在每一個應用程式專案中一定有一個AndroidManifest.xml檔案,這個XML格式檔案記錄了這個APP內的重要資料,如package名稱、版本、Android版本資訊、權限與所使用到的類別(如Activity、Receiver、Service、Provider等)。

在Android Studio畫面左上方預設是以「Android」專用顯示配置,如下圖所標示處:

Android專案顯示配置會以開發APP時最合適的樹狀圖顯示,但實際的檔案與目錄結構並不一定是這樣的,請讀者點擊該下拉選單,並改選為「Project」以顯示專案真實的檔案結構,再展開專案、app、src等目錄後,觀察一個APP專案的實際情形,如下圖:

在開發Android應用程式時,大都使用「Android」專用顯示配置,在瞭解了不同的顯示配置的切換方式後,請再將其切換回Android配置,本書大部份都在這個配置下操作。

請再切換回「Android」專案配置後,再連擊「app」下的「manifests」,或展開「manifests」後再連擊「AndroidManifest.xml」以開啟該檔案,AndroidManifest.xml的根元素為「manifest」,其內部一定有一個「application」元素,而在application元素內會定義在這個應用程式會使用到的所有Android類別,如下圖:

上圖的application元素(圓孤方框)中有一個activity元素(虛線方框),代表這個APP目前只有一個畫面類別,類別名稱為MainActivity。

package屬性

每一個應用程式都必須定義一個與目前整個「Google Play商店」中上架的APP不重複的package名稱,但這個設定值是可以未來要上架時再更改的,不需要在一開始就要決定一個不重複的名稱,本例中使用的是「com.tom.bmi」,如下圖:

application元素的屬性

「application元素」擁有許多的屬性可供設定,「android:icon」屬性可指定這個應用程式所使用的代表圖示,可使用其他的圖檔替換成自訂的圖示。「android:label」屬性代表的是APP的名稱,本例為Bmi,另一個常用的是「android:theme」屬性,theme意思是「主題」,在Android中將元件外觀的資訊稱為樣式(style),而將樣式套用在整個應用程式或單一畫面中,就稱為theme,本例的主題設定為「@style/AppTheme」,如下圖:

activity元素的屬性

activity元素是用來宣告(定義)在這個應用程式中將會使用到的畫面控制元件,也就是Android的Activity類別,必要的屬性「android:name」是類別名稱,應使用類別的全名,如「com.tom.bmi.MainActivity」,但如果第一個字元為小數點時,會自動在類別名稱前補上這個專案的package名稱,因此,本例的「.MainActivity」就代表「com.tom.bmi.MainActivity」,如下圖:

上圖的activity元素內還有「intent-filter」元素,代表該Activity類別會在本應用程式啟動時被第一個執行,也就是一個APP的第一個出現的畫面類別。

[版權聲明]
本文章版權為湯秉翰所有,授權範圍僅限綠豆湯網站使用,除Facebook之類社群等未更改本文章出處之分享行為不在此限,其他個人或公司未經作者同意,不得任意將本文章內容轉載至其他網站,或以任何形式重製,為以免觸犯著作權法,請尊重作者之智慧財產權。

Comments

No comments yet. Why don’t you start the discussion?

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *