AndroidManifest.xml清单配置文件

来源:互联网 发布:淘宝代购护肤品靠谱吗 编辑:程序博客网 时间:2024/06/04 19:38

AndroidManifest.xml清单配置文件

每个Android应用都需要一个名为AndroidManifest.xml的程序清单文件,这个清单文件名是固定的并且放在每个Android应用的根目录下。它定义了该应用对于Android系统来说一些非常重要的信息。Android系统需要这些信息才能正常运行该应用。Android程序清单文件主要具有下面作用:

1.它给应用程序Java包命名,这个包名作为应用程序唯一标识符。

2.它描述了应用程序中的每个程序组件—Activity,Service,Broadcast Receivers和 Content Provider。它描述了实现每个应用程序组件的类名称和组件能力(比如组件能够处理哪种类型的Intent消息)。这些描述帮助Andoid操作系统了解这些程序组件和在何种条件下可以启动这些程序组件。

3.它决定哪些进程用来运行应用程序组件。

4.它描述了应用程序使用某些受保护的程序API或和其它应用程序交互所需的权限。

5.它也描述了其它应用程序和该应用交互时应拥有的权限。

6.它列出了Instrumentation类用于提供应用程序运行时一些性能统计和其它信息。这些生命只在测试或开发应用时使用。在发布应用时应该删除。

7.它给出了应用运行所需AndroidAPI版本的最低要求。

8.它列出了应用程序需要调用的开发库定义。

1.元素:

只有<mainifest><application>元素是必须的,这两个元素必须在程序清单中定义,并且只能出现一次。其它元素可以不出现或出现多次尽管其中有些元素是一个有实用意义的程序清单文件所必须的。

除了根元素<manifest>的一些属性,其它所有属性的属性名称都是以android:作为前缀

1.1manifest:

 

package:所建项目的包名

minSdkVersion:最小的SDK版本,对应Android不同版本的API Level。

maxSdkVersion:最大的SDK版本。

在安装程序的时候,如果目标设备的API版本小于minSdkVersion,或者大于maxSdkVersion,程序将无法安装。一般情况下,没有必要设置maxSdkVersion。

API等级与Android各版本一一对应的结果如下:

API等级1:Android 1.0

API等级2:Android 1.1 Petit Four

API等级3:Android 1.5 Cupcake(纸杯蛋糕)

API等级4:Android 1.6 Donut(甜甜圈)

API等级5:Android 2.0 Éclair(闪电泡芙,松饼)

API等级6:Android 2.0.1 Éclair

API等级7:Android 2.1 Éclair

API等级8:Android 2.2 - 2.2.3 Froyo(冻酸奶)

API等级9:Android 2.3 - 2.3.2 Gingerbread(姜饼)

API等级10:Android 2.3.3-2.3.7 Gingerbread

API等级11:Android 3.0 Honeycomb(蜂巢)

API等级12:Android 3.1 Honeycomb

API等级13:Android 3.2 Honeycomb

API等级14:Android 4.0 - 4.0.2 Ice Cream Sandwich(冰激凌三明治)

API等级15:Android 4.0.3 - 4.0.4 Ice Cream Sandwich

API等级16:Android 4.1 Jelly Bean(果冻豆)

API等级17:Android 4.2 Jelly Bean

API等级18:Android 4.3 Jelly Bean

API等级19:Android 4.4 KitKat(奇巧巧克力棒)

API等级20:Android 4.4W

API等级21:Android 5.0 Lollipop(棒棒糖)

API等级22:Android 5.1 Lollipop

API等级23:Android 6.0 Marshmallow(棉花糖)

1.2 application

 

name:包名.类名。

icon:图标

lable:标题

theme:主题样式

2.组件:

2.1 activity

图一:

 

图二:

 

name:包名.类名(这个是一个活动的真实姓名)

启动一个没有在清单中定义的Activity会抛出异常。

2.2 service

用于后台逻辑代码的处理。

2.3 Content Provider

内容提供者,用来管理数据库访问以及程序内和程序间共享的。

2.4 Broadcast Receiver

广播接受者,可以理解为全局事件的监听器。

3.Intent Filter

应用程序的核心组件(ActivityServiceBoradcast Reciever)都是通过Intent来触发的。一个Intent为一组用来描述动作的信息包(Intent对象)--包括动作处理的数据,能够执行该动作的组件的分类等等。Android根据Intent找到合适的程序组件来响应该Intent,如果有需要创建程序组件的一个新实例并传入Intent对象。

应用程序组件发布它们的处理能力能够处理的Intent的种类通过IntentFilter定义。由于Android系统必须事先了解那个程序组件能处理哪类Intent才能启动合适的程序组件,因此必须在程序清单中通过<intent-filter>来定义Intent Filter。一个应用程序组件可以有多个Intent Filter,每个Intent Filter使用独立的一行字程序清单中定义。

一个明确指明了目标程序组件名称的Intent对象将触发对应的程序组件,此时Intent Filter不起作用。但在Intent没有明确指明目标程序组件名称时,只有在目标程序组件满足Intent Filter定义的过滤条件时才会启动。

4.权限:

4.1 使用系统权限

<uses-permission>申请权限

声明了哪些是由你定义的权限,而这些权限是应用程序正常执行所必须的。在安装程序的时候,你设定的所有权限,将会告诉给用户,由他们来决定同意与否,对很多本地Android服务来说,权限都是必须的。特别是哪些需要付费或者有安全问题的服务

4.2 自定义权限

保护安卓的某些重要组件。

总结:四大组件中,除了BroadcastReceiver可以使用代码声明注册外,其他组件必须在Manifest文件中进行声明配置,否则会报错。

 

0 0
原创粉丝点击