Android AndroidManifest.xml配置文件

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的系统权限有很多,不用全部记忆,只需要会像查字典一样,学会查询和使用就可以了

posted @ 2016-04-20 10:16  月光诗人  阅读(800)  评论(0编辑  收藏  举报