`
cheng330301560
  • 浏览: 179114 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

阅读更多

  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, 等等),它们各自的实现类,各种能被处理的数据和启动位置。

  

分享到:
评论

相关推荐

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

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

    Android PreferenceActivity 学习笔记

    2. 在AndroidManifest.xml中声明Activity:需要在manifest文件中添加对应的Activity声明,并指定它的主题为`android:theme="@android:style/Theme.Holo.Preference"`或其兼容版本,以便获得适当的样式。 ```xml ...

    android学习笔记最新版(1-4)

    《Android学习笔记最新版(1-4)》是一份针对初学者精心编撰的教程,旨在帮助新手快速掌握Android开发的基础知识。这份笔记涵盖了从环境搭建到应用开发的全过程,内容丰富,深入浅出,是Android学习者的理想参考资料...

    xml.zip_android

    XML(eXtensible Markup ...`xml.txt` 文件可能包含了作者的学习笔记,可能涵盖了上述的一些概念,或者提供了关于XML在Android实际开发中的使用示例和技巧。深入学习和实践这些内容,将有助于提升Android开发能力。

    Android基础学习笔记

    Android基础学习笔记主要涵盖了一系列关于Android开发的基本概念和关键组件,以下是这些知识点的详细解析: 1. **Activity**: 是Android应用程序的基本单元,它代表用户在屏幕上看到的一个界面。每个Activity都必须...

    基于android的贪吃蛇源码数据库.zip

    4. XML配置文件:如AndroidManifest.xml,定义了应用程序的元数据。 5. Gradle构建文件:build.gradle,用于项目的构建和依赖管理。 6. 项目结构文件:如Android Studio的项目设置文件,如.iml或.settings目录。 7. ...

    Android学习笔记

    【Android学习笔记】 Android是一种基于Linux的开源操作系统,主要用于移动设备,如智能手机和平板电脑。这份笔记涵盖了Android开发的关键概念,旨在帮助初学者快速入门。 1. Android App基础(1.Android App.docx...

    android学习笔记

    标题“android学习笔记”表明,本文档是一份关于安卓操作系统学习的笔记。Android操作系统是谷歌公司开发的一个基于Linux内核的开源操作系统,广泛应用于智能手机和平板电脑等移动设备。 描述中提到的“android的...

    Android开发教程笔记完全版.zip

    3. **AndroidManifest.xml**:这是每个Android应用的核心配置文件,用于声明应用组件、权限和其他系统设置。 4. **Activity与Intent**:Activity是用户界面的基石,Intent则用于在不同的Activity之间传递数据和启动...

    Android学习入门笔记.zip

    Android学习入门笔记主要涵盖了一系列关于Android开发的基础知识,旨在帮助初学者快速掌握这一全球最流行的移动操作系统之一的编程技能。以下是一些核心知识点的详细解释: 1. **Android概述**: - Android是由...

    Android-一个仿照印象笔记的TimeBar.rar

    由于只提供了一个文件名“一个仿照印象笔记的TimeBar”,我们可以推测这是压缩包内的主项目文件夹或者源码包,里面可能包含了Android项目的各个组成部分,如Java源代码文件(.java)、布局文件(.xml)、资源文件...

    Android开发教程笔记.zip

    这份"Android开发教程笔记.zip"压缩包包含了一份详尽的Android开发教程完全版PDF和一个说明文本,旨在帮助学习者深入理解和实践Android应用开发。 首先,"Android开发教程笔记完全版.pdf"很可能涵盖了以下关键知识...

    基于Android Studio的记事本app.zip

    4. `AndroidManifest.xml`: 应用的清单文件,声明应用的组件、权限和其他信息。 三、记事本App核心功能实现 1. 用户界面设计:在`activity_main.xml`中,你可以使用XML来定义文本输入框(EditText)和按钮(Button...

    安卓课程设计----基于Android Studio开发的笔记APP.zip

    "安卓课程设计----基于Android Studio开发的笔记APP.zip" 是一个与安卓应用开发相关的项目,其中包含了使用Android Studio开发的一款笔记应用程序的完整源代码和可能的项目报告。这个项目可能是针对学生或者对安卓...

Global site tag (gtag.js) - Google Analytics