AndroidManifest.xml檔案的作用和簡單使用
阿新 • • 發佈:2019-01-09
當Android啟動一個應用程式元件之前,它必須知道哪些個元件是存在的,所以開發人員在開發過程中,必須將應用程式中出現的元件一一在 AndroidManifest.xml檔案中申明,最終這個AndroidManifest.xml檔案也會被一起打包到.apk檔案中去。
在前面一系列的中級進階檔案中,我們提到了Android的四大元件分別是:Activity、BroadCast receiver、service、Content Provider,所以我們如果在程式中用到了這些元件,我們一定要在AndroidManifest.xml檔案中申明,否則Android應用程式在執行時,在需要跳轉到、或者需要用到元件找不到時報錯。
在前面一系列的中級進階檔案中,我們提到了Android的四大元件分別是:Activity、BroadCast receiver、service、Content Provider,所以我們如果在程式中用到了這些元件,我們一定要在AndroidManifest.xml檔案中申明,否則Android應用程式在執行時,在需要跳轉到、或者需要用到元件找不到時報錯。
這 個manifest檔案以XML作為結構格式,而且對於所有應用程式,都叫做AndroidManifest.xml。為宣告一個應用程式元件,它還會做 很多額外工作,比如指明應用程式所需連結到的庫的名稱(除了預設的Android庫之外)以及宣告應用程式期望獲得的各種許可權。
但manifest檔案的主要功能仍然是向Android宣告應用程式的元件。舉例說明,一個activity可以如下宣告:
XML/HTML程式碼- <?xml version="1.0" encoding="utf-8"?>
- <manifest . . . >
- <application . . . >
- <activity android:name="com.example.project.FreneticActivity"
- android:icon="@drawable/small_pic.png"
- android:label="@string/freneticLabel"
- . . . >
- </activity>
- . . .
- </application>
- </manifest>
<activity>元素的name屬性指定了實現了這個activity的 Activity的子類。icon和label屬性指向了包含展示給使用者的此activity的圖示和標籤的資原始檔。
其 它元件也以類似的方法宣告──<service> 元素用於宣告服務, <receiver> 元素用於宣告廣播接收器,而 <provider> 元素用於宣告內容提供者。 manifest檔案中未進行宣告的activity、服務以及內容提供者將不為系統所見,從而也就不會被執行。需要注意的是,廣播接收器既可以在 manifest檔案中宣告,也可以在程式碼中進行動態的建立,並以呼叫Context.registerReceiver()的方式註冊至系統。