AndroidMainfest.xml文件解释

AndroidMainfest.xml文件解释

2011-08-12 03:09:17|  分类: Android|举报|字号 订阅

AndroidManifest.xml是每个android程序中必须的文件。它位于application的根目录,描述了package中的全局数据,包括了package中暴露的组件(activities, services, 等等),它们各自的实现类,各种能被处理的数据和启动位置。

  此文件一个重要的地方就是它所包含的intent-filters。这些filters描述了activity启动的位置和时间。每当一个activity(或者操作系统)要执行一个操作,例如:打开网页或联系簿时,它创建出一个intent的对象。它能承载一些信息描述了你想做什么,你想处理什么数据,数据的类型,和一些其他信息。Android比较了intent对象中和每个application所暴露的intent-filter中的信息,来找到最合适的activity来处理调用者所指定的数据和操作。
除了能声明你程序中的Activities, Content Providers, Services, 和Intent Receivers,你还能指定permissions和instrumentation(安全控制和测试)在AndroidManifest.xml文件中。

  这是一个简单的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的xml的文件)在第一个元素中包含了命名空间的声明xmlns:android="http://schemas.android.com/apk/res/android"。这样使得Android中各种标准属性能在文件中使用,提供了大部分元素中的数据。

  · 大部分manifests包含了单个< application>的元素,它定义了所有的application级别组件和属性,并能在package中使用。

  · 任何被用户看作顶层应用程序,并能被程序启动器所用的package,需要包含至少一个Activity组件来支持MAIN操作和LAUNCHER种类,如上述代码中所见。

  这里是AndroidManifest.xml文件结构的一个详细的列表,描述了所有能被使用的标记。

  manifest

  根节点,描述了package中所有的内容。在它之下能放置:

  uses-permission

  请求你的package正常运作所需赋予的安全许可。见SecurityModel来获得许可的更多的信息。一个manifest能包含零个或更多此元素。

  permission

  声明了安全许可来限制哪些程序能你package中的组件和功能。见SecurityModel来获得许可的更多的信息。一个manifest能包含零个或更多此元素。

  instrumentation

  声明了用来测试此package或其他package指令组件的代码。见Instrumentation来获得许可的更多的信息。一个manifest能包含零个或更多此元素。

application

  包含package中application级别组件声明的根节点。此元素也可包含application中全局和默认的属性,如标签,icon,主题,必要的权限,等等。一个manifest能包含零个或一个此元素(不允许多余一个)。在它之下能放置零个或更多下列组件声明:

  activity

  Activity是用来与用户交互的主要工具。当用户打开一个应用程序的初始页面时一个activity,大部分被使用到的其他页面也由不同的activity所实现并声明在另外的activity标记中。

  注意:每一个activity必须要一个< activity>标记对应,无论它给外部使用或是只用于自己的package中。如果一个activity没有对应的标记,你将不能运行它。

  另外,为了支持运行时迟查找你的activity,你能包含一个或多个< intent-filter>元素来描述你activity所支持的操作:

  intent-filter

  声明了指定的一组组件支持的Intent值,从而形成了IntentFilter。除了能在此元素下指定不同类型的值,属性也能放在这里来描述一个操作所需的唯一的标签,icon和其它信息。

  action

  组件支持的Intentaction。

  category

  组件支持的IntentCategory.

  type

  组件支持的Intentdata MIME type.

  schema

  组件支持的Intentdata URI scheme.

  authority

  组件支持的Intentdata URI authority.

  path

  组件支持的Intentdata URI path.

  receiver

  IntentReceiver能使的application获得数据的改变或者发生的操作,即使它当前不在运行。利用activity标记,你能选择地包含一个或多个receiver所支持的< intent-filter>元素;

  service

  Service是能在后台运行任意时间的组件。利用activity标记,你能选择地包含一个或多个receiver所支持的< intent-filter>元素;

  provider

  ContentProvider是用来管理持久化数据并发布给其他应用程序使用的组件。AndroidManifest.xml是每个android程序中必须的文件。它位于application的根目录,描述了package中的全局数据,包括了package中暴露的组件(activities, services, 等等),它们各自的实现类,各种能被处理的数据和启动位置。

时间: 2024-11-01 13:37:15

AndroidMainfest.xml文件解释的相关文章

ant中build.xml文件解释

下边就是一个完整的build.xml,然后我们来详细的解释每一句<?xml version="1.0" encoding="UTF-8" ?><project name="HelloWorld" default="run" basedir="."><property name="src" value="src"/><prope

AndroidMainfest.xml文件分析【转】

AndroidManifest.xml是每个android程序中必须的文件.它位于application的根目录,描述了package中的全局数据,包括了package中暴露的组件(activities, services, 等等),它们各自的实现类,各种能被处理的数据和启动位置. 此文件一个重要的地方就是它所包含的intent-filters.这些filters描述了activity启动的位置和时间.每当一个activity(或者操作系统)要执行一个操作,例如:打开网页或联系簿时,它创建出一个

android菜鸟学习笔记3----关于AndroidMainfest.xml

每个android项目都包含一个AndroidMainfest.xml文件,它包含了组成应用程序的每一个Acitivity.Service.Content Provider和Broadcast Receiver的节点,并使用Intent Filter 和权限来确定这些组件之间以及这些组件和其他应用程序是如何交互的. 1.根节点manifest: package属性:当前应用的包名 versionCode属性:将当前应用程序的版本定义为一个整数,每次版本迭代时,该数字都会增加 versionNam

c#读取xml文件配置文件Winform及WebForm-Demo具体解释

我这里用Winform和WebForm两种为例说明怎样操作xml文档来作为配置文件进行读取操作. 1.新建一个类,命名为"SystemConfig.cs".代码例如以下: <span style="font-family:Microsoft YaHei;font-size:14px;">using System; using System.Collections.Generic; using System.Text; using System.Xml;

史上最全的maven pom.xml文件教程详解

<project xmlns=http://maven.apache.org/POM/4.0.0 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation=http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd >; <!-- 父项目的坐标.如果项目中没有规定某个元素的值,那么父项目中的对应值即为项目的默认值.

maven的pom.xml文件标签含义

pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素. [xml] view plain copy print? <span style="padding:0px; margin:0px"><project xmlns="http://maven.apache.org/POM/4.0.0&

kvm中虚拟机xml文件释义

xml文件内容是来定义kvm中domain的配置信息,可以使用virt-install来生成,但需要指定各个选项,那还不如生成一个基本的xml或复制模板来做相应修改. 以下是kvm中domain的xml配置解释. <!-- #提示信息 WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE  OVERWRITTEN AND LOST. Changes to this xml configuration sho

【Android进阶】解析XML文件之使用DOM解析器

在前面的文章中,介绍了使用SAX解析器对XML文件进行解析,SAX解析器的优点就是占用内存小.这篇文章主要介绍使用DOM解析器对XML文件进行解析.DOM解析器的优点可能是理解起来比较的直观,当然,每个人对不同的解析方法可能有不同的喜好.但是DOM解析器有个比较大的缺点,就是占用内存比较多,在Android中的XML解析中,还是更推荐其他的解析方式. 下面介绍使用DOM解析器对XML进行解析. 下面是我们需要解析的xml文件 <?xml version="1.0" encodin

strut2_struts.xml文件配置知识点汇集

1.Struts2的基本流程 Struts2框架大致分为三部分: .核心控制器StrutsPerpareAndExecuteFilter,Struts2框架提供 .业务控制器 ,用户自己实现 .用户实现的业务逻辑组建,用户自己实现 Struts2应用中的Action用于处理用户请求的Action实例,并不是用户自己实现业务控制器,而是Action代理.因为用户实现的业务控制器并没有ServletAPI耦合,显然无法处理用户请求.而Stuts2框架提供了系列拦截器,该拦截器负责将HttpServl