`
xusaomaiss
  • 浏览: 615402 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Android学习(一) - AndroidManifest.xml解析(翻译)

阅读更多

转自:http://blog.chinaunix.net/u2/85805/showart_1421762.html

 

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

    此 文件一个重要的地方就是它所包含的intent-filters。这些filters描述了activity启动的位置和时间。每当一个 activity(或者操作系统)要执行一个操作,例如:打开网页或联系簿时,它创建出一个intent的对象。它能承载一些信息描述了你想做什么,你想 处理什么数据,数据的类型,和一些其他信息。Android比较了intent对象中和每个application所暴露的intent-filter中 的信息,来找到最合适的activity来处理调用者所指定的数据和操作。关于intent的更多信息请访问Intent 参考页面。

    除 了能声明你程序中的Activities, Content Providers, Services, 和Intent Receivers,你还能指定permissions和instrumentation(安全控制和测试)在AndroidManifest.xml文 件中。请见AndroidManifest 标记和属性的参考。

    这是一个简单的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正常运作所需赋予的安全许可。见Security Model 来获得许可的更多的信息。一个manifest能包含零个或更多此元素。

    permission

        声明了安全许可来限制哪些程序能你package中的组件和功能。见Security Model 来获得许可的更多的信息。一个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

                    组件支持的Intent action

                category

                    组件支持的Intent Category .

                type

                    组件支持的Intent data MIME type .

                schema

                    组件支持的Intent data URI scheme .

                authority

                    组件支持的Intent data URI authority .

                path

                    组件支持的Intent data URI path .

        receiver

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

        service

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

        provider

            ContentProvider 是用来管理持久化数据并发布给其他应用程序使用的组件。

分享到:
评论

相关推荐

    Android学习笔记之AndroidManifest.xml文件解析

    通过上述内容可以看出,`AndroidManifest.xml` 是 Android 应用开发中不可或缺的一部分。它不仅定义了应用的基础信息,还指定了应用的各个组件以及它们之间的关系。正确地配置 `AndroidManifest.xml` 对于确保应用...

    二进制AndroidManifest.xml修改神器~

    在Android应用开发中,`AndroidManifest.xml`是一个至关重要的文件,它定义了应用程序的基本属性、权限、组件(如Activity、Service、BroadcastReceiver和ContentProvider)以及它们之间的关系。本资源,"二进制...

    AndroidManifest.xml信息查看工具

    `AXMLPrinter2.jar`是一个XML解析工具,能够将Android的二进制XML(AXML)文件转换成可读的文本格式,这对于查看和理解`AndroidManifest.xml`的原始二进制形式非常有用。开发者可以使用它来查看那些在标准文本编辑器...

    Android教程之AndroidManifest.xml文件详细介绍及用法解析

    Android教程之AndroidManifest.xml文件 详细介绍及用法解析

    提取apk文件中的AndroidManifest.XML

    Android反编译工具是用来解析和反编译APK文件的,它可以将APK的二进制资源转换为可读的源代码和XML文件。Apktool是一款流行的Android反编译工具,它支持对APK进行拆解、修改和重新打包。通过Apktool,我们可以轻松地...

    android ZXing android-core-3.3.0.jar和core-3.3.0.jar

    总之,ZXing是一个强大的条码和二维码处理库,通过`android-core-3.3.0.jar`和`core-3.3.0.jar`,开发者可以在Android应用中轻松实现扫描和解析功能。在实际应用中,需要注意适配不同设备,优化用户体验,并确保兼容...

    AndroidManifest.xml解析

    《深入理解AndroidManifest.xml解析》 在Android应用开发中,AndroidManifest.xml文件扮演着至关重要的角色。它是每个Android程序的核心配置文件,位于应用程序的根目录下,用于定义应用程序的全局特性,包括应用...

    AndroidManifest.xml编译器

    在Android应用开发中,`AndroidManifest.xml`是一个至关重要的文件,它是每个Android应用程序的核心组成部分,负责定义应用程序的组件、权限、所需库以及与其他应用程序的交互方式。本篇将深入探讨`AndroidManifest....

    反编译 AndroidManifest.xml

    在Android应用开发中,`AndroidManifest.xml`是一个至关重要的文件,它包含了应用程序的基本配置和元数据,如应用名称、所需权限、使用的Activity、Service、BroadcastReceiver等信息。本篇文章将详细探讨如何对`...

    androidmanifest.xml详解

    详细阐述androidmanifest.xml各个属性的含义和用法

    AXMLPrinter2 AndroidManifest.xml to AndroidManifest.txt

    1. **XML解析**:`AndroidManifest.xml`是一个XML文档,`AXMLPrinter2`通过解析XML结构,将其转换为纯文本,使得开发者可以不依赖于XML解析器直接查看其内容。 2. **二进制XML与文本XML**:在APK打包过程中,`...

    学习笔记之AndroidManifest.xml文件解析.docx

    AndroidManifest.xml 文件解析 AndroidManifest.xml 文件是每个 Android 程序中必须的文件,位于整个项目的根目录,描述了 package 中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的...

    AndroidManifest.xml 最新解析包

    4. **代码调试**:如果工具本身没有更新,尝试用Java或Android Studio自带的XML解析库进行解析,通过调试找出问题所在。 5. **社区求助**:在Stack Overflow或相关的开发者论坛上发布问题,提供尽可能多的细节,...

    通过占坑位启动未在AndroidManifest.xml注册的Activity

    总的来说,"通过占坑位启动未在AndroidManifest.xml注册的Activity"是一种高级的Android开发技巧,常用于插件化和动态加载场景,但也需要开发者充分考虑其带来的潜在问题和风险。在实际应用中,应当谨慎使用,确保...

    反编译AndroidManifest等xml文件

    AXMLPrinter是一个用于解析和打印Android二进制XML文件的工具,它可以将二进制XML转换成人类可读的文本格式。 要使用AXMLPrinter,你需要以下步骤: 1. 获取AXMLPrinter工具:AXMLPrinter通常作为Apktool的一部分...

Global site tag (gtag.js) - Google Analytics