1. 程式人生 > >AndroidManifest.xml檔案的作用和簡單使用

AndroidManifest.xml檔案的作用和簡單使用

當Android啟動一個應用程式元件之前,它必須知道哪些個元件是存在的,所以開發人員在開發過程中,必須將應用程式中出現的元件一一在 AndroidManifest.xml檔案中申明,最終這個AndroidManifest.xml檔案也會被一起打包到.apk檔案中去。
在前面一系列的中級進階檔案中,我們提到了Android的四大元件分別是:ActivityBroadCast receiverserviceContent Provider,所以我們如果在程式中用到了這些元件,我們一定要在AndroidManifest.xml檔案中申明,否則Android應用程式在執行時,在需要跳轉到、或者需要用到元件找不到時報錯。

        這 個manifest檔案以XML作為結構格式,而且對於所有應用程式,都叫做AndroidManifest.xml。為宣告一個應用程式元件,它還會做 很多額外工作,比如指明應用程式所需連結到的庫的名稱(除了預設的Android庫之外)以及宣告應用程式期望獲得的各種許可權。

        但manifest檔案的主要功能仍然是向Android宣告應用程式的元件。舉例說明,一個activity可以如下宣告:

XML/HTML程式碼
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest . . . >  
  3.     <application . . . >  
  4.         <activity android:name="com.example.project.FreneticActivity"  
  5.                   android:icon="@drawable/small_pic.png"  
  6.                   android:label="@string/freneticLabel"   
  7.                   . . .  >  
  8.         </activity>  
  9.         . . .  
  10.     </application>  
  11. </manifest>  

        <activity>元素的name屬性指定了實現了這個activity的 Activity的子類。icon和label屬性指向了包含展示給使用者的此activity的圖示和標籤的資原始檔。

        其 它元件也以類似的方法宣告──<service> 元素用於宣告服務, <receiver> 元素用於宣告廣播接收器,而 <provider> 元素用於宣告內容提供者。 manifest檔案中未進行宣告的activity、服務以及內容提供者將不為系統所見,從而也就不會被執行。需要注意的是,廣播接收器既可以在 manifest檔案中宣告,也可以在程式碼中進行動態的建立,並以呼叫Context.registerReceiver()的方式註冊至系統。