AndroidManifest.xml介紹

來源:互聯網
上載者:User

先說一下,我的開發環境為Eclipse 3.7.1 + Android SDK + Android 1.5(API level3)
Android最大的一個特點,就是用xml檔案來配置,這個演習了Java的特點。所以,理解Android程式,同時需要理解xml檔案。
我們寫程式,需要關注AndroidManifest.xml,和res/layout下的xml檔案以及res/value下的xml檔案。
首先看AndroidManifest.xml,我的程式的AndroidManifest.xml如下:
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest package="Workshop.english.englishwords"
 3     android:versionCode="1"
 4     android:versionName="1.0" xmlns:android="http://schemas.android.com/apk/res/android">
 5
 6     <uses-sdk android:minSdkVersion="3" />
 7
 8     <application
 9 android:icon="@drawable/ic_launcher"
10         android:label="@string/app_name" >       
11         <activity
12 android:name=".EnglishWordsActivity"
13             android:label="@string/app_name">
14             <intent-filter>
15                 <action android:name="android.intent.action.MAIN" />
16
17                 <category android:name="android.intent.category.LAUNCHER" />
18             </intent-filter>
19            
20         </activity>
21         <activity
22 android:name=".UnitListAdapter">
23            
24         </activity>
25        
26         <activity
27 android:name=".WordActivity">       
28         </activity>
29        
30     </application>
31
32 </manifest>
首先來說說這個檔案有啥用。Manifest, 我不知道翻譯成中文咋說,只能意會。寫Java程式的,對這個詞語並不陌生。可以看作一個類似於清單說明一樣的東西。大家都有過網購的經驗,對於產品的封裝,會有一個清單,說明了這個包裹裡頭有些啥。這裡Manifest其實大致也是這個意思。
這個xml檔案,其實就是描述了我們的應用程式有些啥,當然還有其他的比如運行環境的說明。下面細細的介紹。
line 1,說明了版本號碼,字元集,世界上都有哪些字元集,可以網上去查。
line 2-4, 說明了package,C++中習慣叫命名空間,其實差不多一個意思。
line 6, 說明了SDK的版本是3,因為我選擇是Android 1.5,所以這裡就是3。關於這個對應關係,從Eclipse更新Android的SDK的時候,會列出來。比較新的是Android 4.0.3,對應的level是15.這個是在建立應用的時候選擇的。
line 9,  說明了應用在Android案頭中顯示的表徵圖,顯示的表徵圖在res/drawable目錄下的ic_lancher.png,這個可以自己改,但是名字必須是drawable目錄下的。
line 10, 說明了應用程式顯示的名字,lable標籤,對應的app_name在res/values目錄下的strings.xml中可以找到。
line 11-28, 列舉了三個Activity, 三個Activity對應了三個類名,這裡必須是這樣的格式,我曾經試圖將首碼“.”去掉,結果報錯。感覺這個“.”有點像目錄中目前的目錄的標識,這裡標識的是當前命名空間。
第一個Activity和另兩個不同,最顯著的是intent-filter段,line15和17表明這是應用啟動的第一個Activity,是不是有點C語言中Main函數的味道?你也可以理解為應用程式的入口。每一個應用至少有一個Activity被定義為MAIN. 注意到另外兩個Activity沒有intent-filter,其實是可以有的,只是這裡我的程式中用不著。關於intent-filter,網上也有比較詳細的描述,暫時這裡也不詳細介紹了。我也會在後面總結一下,因為這可以專門的當作一個topic,包含了很豐富的內容。
需要指出的是,AndroidManifest.xml基本上是自動產生的,當然了,我們也可以去編輯它。但是編輯的時候必須小心,編輯每一個元素都需要弄清楚他的意義,否則,很容易導致出錯。這個我覺得是Android的一個對於新手不太好的地方。真是因為這個原因,我這個檔案詳細的說明了一下。偷偷說一下,我吃過虧。

 摘自 愛心覺羅氏

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.