AndroidManifest.xml是每个android程序中必须的文件。它位于工程的根目录,描述了package中的全局数据,包括了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。
此文件一个重要的地方就是它所包含的intent-filters。这些filters描述了activity启动的位置和时间。每当一个activity(或者操作系统)要执行一个操作,例如:打开网页或联系簿时,它创建出一个intent的对象,这个对象承载一些信息描述了你想做什么,你想处理什么数据,数据的类型,和一些其他信息。Android比较这个intent对象和每个application所暴露的intent-filter中的信息,来找到最合适的activity来处理调用者所指定的数据和操作。
在AndroidManifest.xml文件中,除了能声明你程序中的Activities, Content Providers, Services, 和Intent Receivers,你还能指定permissions和instrumentation(安全控制和测试)。这是一个简单的AndroidManifest.xml。 view plaincopyprint?
<?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> <?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在第一个元素中包含了命名空间的声明,xmlns:android="http://schemas.android.com/apk/res/android"。这样使得Android中各种标准属性能在文件中使用,它提供了大部分元素中的数据。
大部分manifests包含了单个<application>的元素,它定义了所有的application级别组件和属性,并能在package中使用。任何被用户看作顶层应用程序,并能被程序启动器所用的package,需要包含至少一个Activity组件来支持MAIN操作和LAUNCHER种类,如上述代码中所见。
这里是AndroidManifest.xml文件结构的一个详细的列表,描述了所有能被使用的标记。
manifest: 根节点,描述了package中所有的内容。在它之下能放置:
此文件一个重要的地方就是它所包含的intent-filters。这些filters描述了activity启动的位置和时间。每当一个activity(或者操作系统)要执行一个操作,例如:打开网页或联系簿时,它创建出一个intent的对象,这个对象承载一些信息描述了你想做什么,你想处理什么数据,数据的类型,和一些其他信息。Android比较这个intent对象和每个application所暴露的intent-filter中的信息,来找到最合适的activity来处理调用者所指定的数据和操作。
在AndroidManifest.xml文件中,除了能声明你程序中的Activities, Content Providers, Services, 和Intent Receivers,你还能指定permissions和instrumentation(安全控制和测试)。这是一个简单的AndroidManifest.xml。 view plaincopyprint?
<?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> <?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在第一个元素中包含了命名空间的声明,xmlns:android="http://schemas.android.com/apk/res/android"。这样使得Android中各种标准属性能在文件中使用,它提供了大部分元素中的数据。
大部分manifests包含了单个<application>的元素,它定义了所有的application级别组件和属性,并能在package中使用。任何被用户看作顶层应用程序,并能被程序启动器所用的package,需要包含至少一个Activity组件来支持MAIN操作和LAUNCHER种类,如上述代码中所见。
这里是AndroidManifest.xml文件结构的一个详细的列表,描述了所有能被使用的标记。
manifest: 根节点,描述了package中所有的内容。在它之下能放置: