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 应用的核心配置文件,它位于应用项目的根目录下。该文件主要用于描述应用的基本信息及其组件,比如 Activity、Service、BroadcastReceiver 和 ContentProvider 等。此外,`...
三、AndroidManifest.xml 文件的作用 AndroidManifest.xml 文件的作用主要体现在以下几个方面: * 声明应用程序的组件,包括活动、服务、内容提供者、广播接收器等。 * 指定应用程序所需的权限和权限树。 * 指定...
在Android开发中,Activity和main.xml文件是两个非常基础且重要的概念。Activity是Android应用程序的主要组件,它代表了用户可以看到并与其交互的界面。而main.xml则是用来定义Activity用户界面布局的XML文件。 1. ...
Android 学习笔记主要涵盖两大部分:AndroidManifest.xml 文件配置和资源类型管理。 首先,AndroidManifest.xml 是每个 Android 应用程序的核心配置文件,它告诉系统关于应用的信息,包括所需的权限、组件以及它们...
5. **Manifest.xml**:AndroidManifest.xml文件定义了应用的基本信息,权限和启动配置。 6. **Build.gradle**:构建脚本,控制应用的编译和打包过程,包括依赖库的管理。 7. **Res**目录:包含了应用的所有资源文件...
1. 在`AndroidManifest.xml`文件中声明SplashActivity,设置主题为全屏无标题栏,并确保在启动时被选中。示例代码如下: ```xml <activity android:name=".SplashActivity" android:theme="@android:style/Theme....
由于只提供了一个文件名“一个仿照印象笔记的TimeBar”,我们可以推测这是压缩包内的主项目文件夹或者源码包,里面可能包含了Android项目的各个组成部分,如Java源代码文件(.java)、布局文件(.xml)、资源文件...
接着,我们会接触到AndroidManifest.xml文件,它是每个Android应用的核心配置文件,记录了应用的基本信息、权限声明以及组件注册等。在这里,你需要声明你的应用将要使用的Activity(应用的主入口点)和其他组件,...
其中,AndroidManifest.xml 文件是 APK 的打包清单,提供了关于应用程序的基本信息,如名称、图标等常量信息。最重要的是,它声明了应用程序所包含的组件,并请求系统授予相关权限。 在 Messaging 应用中,...
4. XML配置文件:如AndroidManifest.xml,定义了应用程序的元数据。 5. Gradle构建文件:build.gradle,用于项目的构建和依赖管理。 6. 项目结构文件:如Android Studio的项目设置文件,如.iml或.settings目录。 7. ...
4. **添加权限**:由于涉及到拨打电话这一敏感操作,因此还需要在AndroidManifest.xml文件中声明相应的权限。 ```xml <uses-permission android:name="android.permission.CALL_PHONE" /> ``` 这样用户点击应用...
XML(eXtensible Markup ...`xml.txt` 文件可能包含了作者的学习笔记,可能涵盖了上述的一些概念,或者提供了关于XML在Android实际开发中的使用示例和技巧。深入学习和实践这些内容,将有助于提升Android开发能力。
2. 在AndroidManifest.xml中声明Activity:需要在manifest文件中添加对应的Activity声明,并指定它的主题为`android:theme="@android:style/Theme.Holo.Preference"`或其兼容版本,以便获得适当的样式。 ```xml ...
2. **项目目录结构**:了解各个目录的作用,如`src`存放源代码,`gen`目录自动生成的文件不要修改,`res`目录下有资源文件,如图片、布局文件和字符串等,`AndroidManifest.xml`是整个应用的配置文件。 3. **...
3. **AndroidManifest.xml**:这是每个Android应用的核心配置文件,记录了应用的基本信息、权限声明、启动活动和服务等。 4. **Drawable资源**:可能包含应用的图标和其他图形资源,用于UI美化。 5. **Build....
10. **权限管理**:由于涉及到局域网通信,应用可能需要在AndroidManifest.xml文件中声明相应的网络访问权限,如`<uses-permission android:name="android.permission.INTERNET" />`。 通过研究这个源码,开发者...
AndroidManifest.xml文件是每个Android应用的配置文件,它包含了应用的所有元数据,如: - 程序包名 - Activity、Content Provider、Service和Broadcast Receiver的声明 - 请求的安全权限(uses-permission) - ...