AndroidManifest.xml 文件解析

AndroidManifest.xml是每一个应用都需要的文件。位于工程文件根目录下,描述了程序包的一个全局变量,包括的应用组件(activities, services等等)和为每个组件的实现类, 什么样的数据可以操作, 以及在什么地方运行。这个文件的一个重要数据(概念)是intent过滤器。这个过滤器描述了何时何种情况下让activity 启动。当一个activity想要执行一个动作, 例如打开一个联系人选取屏幕, 会创建一个Intent对象. 该对象包含了很多的描述信息, 描述了你想做什么操作, 你想处理什么
数据, 数据的类型, 以及一些其它的重要信息. Android拿这个Intent的信息与所有应用的intent过滤器比较, 找到一个最能恰当处理请求者要求的数据和action的activity。
另外还要声明您的应用 Activities,Content Providers,Services   ,和 Intent  Receivers,你也可以在AndroidManifest.xml文件中指定权限和instrumentation(安全控制和测试)。
一个AndroidManifest.xml文件的例子:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.my_domain.app.helloactivity">  

<application android:label="@string/app_name">
     <activity class=".HelloActivity">
         <intent-filter>
            <action android:value="android.intent.action.MAIN"/>
                <category                                
                      android:value="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>
    </manifest>
这里记录了一些通用特性:
几乎所有的AndroidManifest.xml 文件(同其它的Android文件一样)都会包含一个命名空间的声明xmlns:android="http://schemas.android.com/apk/res/android"在第一个元素中. 该声明使标准Android属性在该文件中得以使用, 该属性为文件的xml元素提供了大部分数据.
大多数AndroidManifest.xml 文件仅包含一个<application>元素, 该元素定了这个程序包内所有应用层面上可用的组件和属性.
下面列出了AndroidManifest.xml 这个文件详细的结构大纲, 描述了所有可用标签。
<manifest>
文件根节点, 描述了程序包的所有内容。在其节点下面内可以放置:
<uses-permission>
请求一个安全授权, 必须被授予该权限, 您的程序包才能正确的操作. 查看安全模块文档, 了解有关授权的更多信息. 一个manifest可以包含零个或多个这样的节点。
<permission>
声明一个安全授权, 用来限制哪些应用可以访问您的程序包内的组件和特有机制. 查看安全模块文档, 了解有关授权的更多信息. 一个manifest可以包含零个或多个这样的节点。
 
<application>
描述程序包内应用级别组件的根节点. 该节点能够描述应用程序的全局(和/或)默认属性, 例如标签, 图标, 主题, 需要的授权, 等等. 一个manifest可以包含零个或一个这样的节点(多个application 节点是不允许的). 在该节点下, 可以包含零个或多个以下每个组件
的声明:
<activity>
Activity 是应用于用户交互的最主要机制. 当一个应用运行的时候, 用户看到的第一个屏幕就是activity, 并且, 用户所使用的其它绝大多数屏幕(界面)也会是activity。
<service>
Service 是一个在后台任意时刻都可以运行的组件. 同activity 标签一样, 你可以选择包含一个或多个<intent-filter>元素;
<provider> ContentProvider组件是用来管理数据持久化及数据发布的, 发布的数
据可以被其它的应用访问.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值