AndroidManifest.xml文件的结构及元素

AndroidManifest.xml文件的结构、元素,以及元素的属性,可以在AndroidSDK文档中查看详细说明。而在看这些众多的元素以及元素的属性前,需要先了解一下这些元素在命名、结构等方面的规则:

[list]
[] 元素:在所有的元素中只有和是必需的,且只能出现一次。如果一个元素包含有其他子元素,必须通过子元素的属性来设置其值。处于同一层次的元素,这些元素的说明是没有顺序的。
[
] 属性:按照常理,所有的属性都是可选的,但是有些属性是必须设置的。那些真正可选的属性,即使不存在,其也有默认的数值项说明。除了根元素的属性,所有其他元素属性的名字都是以android:前缀的;
[] 定义类名:所有的元素名都对应其在SDK中的类名,如果你自己定义类名,必须包含类的数据包名,如果类与application处于同一数据包中,可以直接简写为“.”;
[
] 多数值项:如果某个元素有超过一个数值,这个元素必须通过重复的方式来说明其某个属性具有多个数值项,且不能将多个数值项一次性说明在一个属性中;
[] 资源项说明:当需要引用某个资源时,其采用如下格式:@[package:]type:name。例如<activity android:icon=”@drawable/icon ” . . .>
[
] 字符串值:类似于其他语言,如果字符中包含有字符“\”,则必须使用转义字符“\”;
[/list]
实例中的AndroidManifest.xml文件来说明一下,原XML文件如下: <?xml version=”1.0″ encoding=”utf-8″?> <manifest xmlns:android=”http://schemas.android.com/apk/res/android” package=”moandroid.cookie” android:versionCode=”1″ android:versionName=”1.0″> <application android:icon=”@drawable/icon” android:label=”@string/app_name”> <activity android:name=”.cookie” android:label=”@string/app_name”> <intent-filter> <action android:name=”android.intent.action.MAIN” /> <category android:name=”android.intent.category.LAUNCHER” /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion=”3″ /> </manifest> 除了头部的XML信息说明外,首先是manifest项(也就是根节点),其属性包括:schemas URL地址、包名(moandroid.cookie),以及程序的版本说明。其次是manifest的子节点application,其属性包括:程序图标、程序名称。前面带有@表示引用资源,例如:@drawable/icon表示引用的是drawable资源中的icon,可以在其源工程的res/drawable中找到。然后就是application的子节点activity,其属性包括:activity的名称、activity的标签名,其子节点intent-filter则是对activity的说明。

而在intent-filter中,actionandroid:name=”android.intent.action.MAIN”和categoryandroid:name=”android.intent.category.LAUNCHER”用以说明程序启动时的入口activity是哪个。如果这两个属性值中分别含有MAIN和LAUNCHER,则说明它就是启动程序时的入口活动。uses-sdkandroid:minSdkVersion=”3″说明程序使用的Android SDK的最低版本,其中1表示Android1.0,2表示Android 1.1,而3则表示Android1.5。