AndroidManifest.xml配置文件介绍
本质:AndroidManifest.xml是整个应用的主配置清单文件。
包含:该应用的包名、版本号、组件、权限等信息。
作用:记录该应用的相关配置信息。
AndroidManifest.xml的位置
从新建一个Android工程开始,AndroidManifest.xml就已经出现了
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.i.helloworld"
android:versionCode="1"
android:versionName="1.0" > <uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" /> <application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.i.helloworld.MainActivity"
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> </manifest>
AndroidManifest.xml
AndroidManifest.xml常用标签解读
(1)全局篇(包名、版本信息)
(2)组件篇(四大组件)
(3)权限篇(申请权限和定义权限)
全局篇
(1)应用的包名以及版本信息的管理
package="com.i.helloworld"
android:versionCode="1"
android:versionName="1.0"
(2)控制android版本信息(可以支持的最低版本、你期望的系统版本)
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
组件篇 -- 在配置文件中注册组件
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
[ ... application nodes ... ]
</application>
其属性可以设置:
图标:android:icon
标题:android:label
主题样式:android:theme
只能包含一个application节点
Activity(活动)
<activity
android:name="com.i.helloworld.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
android:name="com.i.helloworld.MainActivity" 通过这句话在清单中定义一个activity
启动一个没有在清单中顶一个activity都会抛出异常
<intent-filter>起的名片或者过滤器的作用
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
这里这个intent-filter接货了主函数启动的时候和第一次登陆的作用
Service(服务)
<service ...>
activity可以用来显示界面;Service只是走位一个后台逻辑的处理。
Content Provider(内容提供者)
<provider ...>
内容提供者用来管理数据库访问以及程序内和程序间共享。
Broadcast Receiver(广播接收者)
<receiver ...>
相当于一个全局事件的监听器,一旦我们在配置文件中注册以后,它就相当于一个面向全局的监听器。一旦它所匹配的intent被传播出来,它就会立即被执行。
权限篇
设置权限方式:
在AndroidManifest.xml的下方选择permissions标签-->add。。。
(1)使用系统权限
<uses-permission>申请权限
声明了哪些是由你定义的权限,而这些权限是应用程序正常执行所必需的。在安装程序的时候,你设定的所有权限将会告诉给用户,由他们来决定同意与否。对很多本地Android服务来说,权限都是必需的,特别是那些需要付费或者有安全问题的服务(例如,拨号、接受SMS或者使用基于位置的服务)
(2)自定义权限
除了系统权限,我们也可以使用自定义权限
使用权限:
<activity
android:permission="xxx"
...
前提是要先在<uses-permission>中先申请权限
总结
注意事项
1.每个组件都必须包含android:name这个属性,推荐用券名称(包名.类名),intent-filter(过滤器)可以选写。
2.四大组件中除了BroadcastReceiver可以使用代码声明注册以外,其他组件必须要在Manifest文件中进行声明配置,否则会报错
3.可以使用alt+/的组合快捷键,通过代码提示加快书写效率
4.android的系统权限有很多,不用全部记忆,只需要会像查字典一样,学会查询和使用就可以了