AndroidManifest.xml是清单文件,它存储在项目层次中的最底层。清单可以定义应用程序及其组件的结构和元数据。
它包含了组成应用程序的每一个组件(活动、服务、内容提供器和广播接收器)的节点,并使用Intent过滤器和权限来确定这些组件之间以及这些组件和其他应用程序是如何交互的,其各模块分析如下所示:
第一、第一层(<Manifest>):(属性)
[cpp]
<span style="font-size:18px"><manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.richard"
android:versionCode="1"
android:versionName="1.0" ></span>
1、xmlns:android
定义android命名空间,一般为http://schemas.android.com/apk/res/android,这样使得Android中各种标准属性能在文件中使用,提供了大部分元素中的数据。
2、package
指定本应用内java主程序包的包名,它也是一个应用进程的默认名称
3、versionCode
是给设备程序识别版本(升级)用的必须是一个interger值代表app更新过多少次,比如第一版一般为1,之后若要更新版本就设置为2,3等等。。。
4、versionName
这个名称是给用户看的,你可以将你的APP版本号设置为1.1版,后续更新版本设置为1.2、2.0版本等等。。。
第二、第二层(<Application>):属性
一个AndroidManifest.xml中必须含有一个Application标签,这个标签声明了每一个应用程序的组件及其属性(如icon,label,permission
[cpp]
<span style="font-size:18px"> <application
android:allowBackup="true"
android:icon="@drawable/background"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
</application></span>
1.icon表示在手机中显示的图标
2.label表示在手机中显示图标上面的表示
3. theme表示是一个资源的风格,它定义了一个默认的主题风格给所有的activity,当然也可以在自己的theme里面去设置它,有点类似粘贴文本style。
第三、(<Activity>):属性
[cpp]
<span style="font-size:18px"> <activity
android:name="com.example.richard.MainMainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity></span>
应用程序显示的每一个Activity都要求有一个activity标签,并使用android:name属性来指定类的名称。这必须包含核心的启动Activity和其他所有可以显示的屏幕或者对话框。启动任何一个没有在清单中定义的Activity时都会抛出一个运行时异常。每一个Activity节点都允许使用intent-filter子标签来指定哪个一个应用程序可以有多个Activity,每个Activity是同级别的,那么在启动程序时,最先启动哪个Activity呢?有些程序可能需要显示在程序列表里,有些不需要。怎么定义呢?
android.intent.action.MAIN
决定应用程序最先启动的Activity
android.intent.category.LAUNCHER
决定应用程序是否显示在程序列表里
第四层<meta-data>
<meta-data android:name="string"
android:resource="resource specification"
android:value="string"/>
这是该元素的基本结构.可以包含在<activity> <activity-alias> <service> <receiver>四个元素中。
android:name(解释:元数据项的名字,为了保证这个名字是唯一的,采用java风格的命名规范,如com.woody.project.fried)
android:resource(解释:资源的一个引用,指定给这个项的值是该资源的id。该id可以通过方法Bundle.getInt()来从meta-data中找到。)
android:value(解释:指定给这一项的值。可以作为值来指定的数据类型并且组件用来找回那些值的Bundle方法:[getString],[getInt],[getFloat],[getString],[getBoolean])