Mainfest.xml文件的初步解析
2016-05-14 11:12
375 查看
AndroidManifest.xml配置文件的介绍
1.全局篇
package:所建项目的包名
minSdkVersion:最小的SDK版本,对应Android不同版本的API Level。
maxSdkVersion:最大的SDK版本。
在安装程序的时候,如果目标设备的API版本小于minSdkVersion,或者大于maxSdkVersion,程序将无法安装。一般情况下,没有必要设置maxSdkVersion。
targetSdkVersion:这个属性会相对复杂一些。在程序执行时,如果目标设备的API版本正好等于此数值,他会告诉Android平台:此程序在此版本已经经过充分测试,没有问题。不需要再为此程序开启兼容性检查判断的工作了。换句话说就是,如果tergetSdkVersion与目标设备的API版本相同时,运行效率可能会高一些。
但是,这个设置仅仅是一个声明,一个通知,不会有太实质的作用,比如说,使用了targetSdkVersion这个SDK版本中的一个特性,但是这个特性在低版本中是不支持的,那么在低版本的API设备上运行程序时,可能会报错。
这四个数值在程序编译时也没有严格的检查,比如说,你可以将minSdkVersion设置的比maxSdkVersion还打,它会自动忽略掉错误的maxSdkVersion
简单举例:target是14,你的设备是10,程序中使用14的某个属性,在编译的时候就会报错;
min是16,你的设备是11,程序安装不上。
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(棉花糖)
2.组件篇
2.1 application组件
name:包名.类名。
icon:图标
lable:标题
theme:主题样式
一个清单配置文件中只能包含一个application组件。
2.2 activity
图一:
图二:
name:包名.类名(这个是一个活动的真实姓名)
启动一个没有在清单中定义的Activity会抛出异常。
intent-filter:过滤器的作用,使用intent时,可以利用action和category的name来启动一个活动。
2.3 service
用于后台逻辑代码的处理。
2.4 ContentProvider
内容提供者,用来管理数据库访问以及程序内和程序间共享的。
2.5 BroadcastReceiver
广播接受者,可以理解为全局事件的监听器。
<receiver/>
intent-filter:可以理解为组件的的个人介绍,意思就是有和我一样的,你们就要执行相应代码。
</receiver>
3.权限篇
3.1 使用系统权限
<uses-permission>申请权限
声明了哪些是由你定义的权限,而这些权限是应用程序正常执行所必须的。在安装程序的时候,你设定的所有权限,将会告诉给用户,由他们来决定同意与否,对很多本地Android服务来说,权限都是必须的。特别是哪些需要付费或者有安全问题的服务(eg:使用基于位置的服务)
3.2 自定义权限
保护安卓的某些重要组件。
(自行查询中。。。)
总结:四大组件中,除了BroadcastReceiver可以使用代码声明注册外,其他组件必须在Manifest文件中进行声明配置,
4000
否则会报错。
为啥觉得越写问题越多。。。。。。。
谁有比较详细的解析,留个链接也好的呀
小妞静等
1.全局篇
package:所建项目的包名
minSdkVersion:最小的SDK版本,对应Android不同版本的API Level。
maxSdkVersion:最大的SDK版本。
在安装程序的时候,如果目标设备的API版本小于minSdkVersion,或者大于maxSdkVersion,程序将无法安装。一般情况下,没有必要设置maxSdkVersion。
targetSdkVersion:这个属性会相对复杂一些。在程序执行时,如果目标设备的API版本正好等于此数值,他会告诉Android平台:此程序在此版本已经经过充分测试,没有问题。不需要再为此程序开启兼容性检查判断的工作了。换句话说就是,如果tergetSdkVersion与目标设备的API版本相同时,运行效率可能会高一些。
但是,这个设置仅仅是一个声明,一个通知,不会有太实质的作用,比如说,使用了targetSdkVersion这个SDK版本中的一个特性,但是这个特性在低版本中是不支持的,那么在低版本的API设备上运行程序时,可能会报错。
这四个数值在程序编译时也没有严格的检查,比如说,你可以将minSdkVersion设置的比maxSdkVersion还打,它会自动忽略掉错误的maxSdkVersion
简单举例:target是14,你的设备是10,程序中使用14的某个属性,在编译的时候就会报错;
min是16,你的设备是11,程序安装不上。
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(棉花糖)
2.组件篇
2.1 application组件
name:包名.类名。
icon:图标
lable:标题
theme:主题样式
一个清单配置文件中只能包含一个application组件。
2.2 activity
图一:
图二:
name:包名.类名(这个是一个活动的真实姓名)
启动一个没有在清单中定义的Activity会抛出异常。
intent-filter:过滤器的作用,使用intent时,可以利用action和category的name来启动一个活动。
2.3 service
用于后台逻辑代码的处理。
2.4 ContentProvider
内容提供者,用来管理数据库访问以及程序内和程序间共享的。
2.5 BroadcastReceiver
广播接受者,可以理解为全局事件的监听器。
<receiver/>
intent-filter:可以理解为组件的的个人介绍,意思就是有和我一样的,你们就要执行相应代码。
</receiver>
3.权限篇
3.1 使用系统权限
<uses-permission>申请权限
声明了哪些是由你定义的权限,而这些权限是应用程序正常执行所必须的。在安装程序的时候,你设定的所有权限,将会告诉给用户,由他们来决定同意与否,对很多本地Android服务来说,权限都是必须的。特别是哪些需要付费或者有安全问题的服务(eg:使用基于位置的服务)
3.2 自定义权限
保护安卓的某些重要组件。
(自行查询中。。。)
总结:四大组件中,除了BroadcastReceiver可以使用代码声明注册外,其他组件必须在Manifest文件中进行声明配置,
4000
否则会报错。
为啥觉得越写问题越多。。。。。。。
谁有比较详细的解析,留个链接也好的呀
小妞静等
相关文章推荐
- 基于Manifest.xml中不要出现重复的uses permission的说明
- androidmanifest.xml设置权限请求
- 二手交易app manifest.xml
- 计步器manifest.xml学习详解
- Android下Mainfest配置文件下各节点作用和各节点的标签作用
- Android Manifest.xml详解
- 安卓学习基础篇——Android应用程序的构成(二)
- Android Manifest.xml中intent-filter的(data)
- android meta-data 使用
- Android 中的AndroidManifest.xml文件中的代码解释
- Android 中Manifest.xml文件详解
- AndroidManifest.xml中含盖的安全问题详解
- js前端对后台数据的获取,如果是汉字则需要添上引号
- 剑指Offer:旋转数组的最小数字
- cojs 简单的求和问题 解题报告
- datatables.js 简单使用--多选框和服务器端分页
- LeetCode|Game of Life
- Electron.js折腾记(一):getStart
- js基础
- Zen Coding的一种快速编写HTML/CSS代码的方法