1、研究项目定义文件AndroidManifest.xml
AndroidManifest.xml是每个android程序中必须的文件。它位于application的根目录,描述了package中的全局数据,包括了package中暴露的组件(activities,
services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。
此文件一个重要的地方就是它所包含的intent-filters。这些filters描述了activity启动的位置和时间。每当一个
activity(或者操作系统)要执行一个操作,例如:打开网页或联系簿时,它创建出一个intent的对象。它能承载一些信息描述了你想做什么,你想
处理什么数据,数据的类型,和一些其他信息。Android比较了intent对象中和每个application所暴露的intent-filter中
的信息,来找到最合适的activity来处理调用者所指定的数据和操作。
这里是AndroidManifest.xml文件结构的一个详细的列表,描述了所有能被使用的标记。
根节点,描述了package中所有的内容。在它之下能放置:
请求你的package正常运作所需赋予的安全许可。见Security
Model来获得许可的更多的信息。一个manifest能包含零个或更多此元素。
声明了安全许可来限制哪些程序能你package中的组件和功能。见Security
Model来获得许可的更多的信息。一个manifest能包含零个或更多此元素。
声明了用来测试此package或其他package指令组件的代码。见Instrumentation来获得许可的更多的信息。一个manifest能包含零个或更多此元素。
包含package中application级别组件声明的根节点。此元素也可包含application中全局和默认的属性,如标签,icon,主题,必要的权限,等等。
android:hardwareAccelerated="true"——整个应用程序开启硬件加速
一个manifest能包含零个或一个此元素(不允许多余一个)。在它之下能放置零个或更多下列组件声明:
Activity是用来与用户交互的主要工具。当用户打开一个应用程序的初始页面时一个activity,大部分被使用到的其他页面也由不同的
activity所实现并声明在另外的activity标记中。Activity中的android:name属性是用来指定Activity对应的
Java实现类的。
注意:每一个activity必须要一个标记对应,无论它给外部使用或是只用于自己的package中。如果一个activity没有对应的标记,你将不能运行它。
另外,为了支持运行时迟查找你的activity,你能包含一个或多个元素来描述你activity所支持的操作:
声明了指定的一组组件支持的Intent值,从而形成了IntentFilter。除了能在此元素下指定不同类型的值,属性也能放在这里来描述一个操作所需的唯一的标签,icon和其它信息。
IntentReceiver能使的application获得数据的改变或者发生的操作,即使它当前不在运行。利用activity标记,你能选择地包含一个或多个receiver所支持的元素;
Service是能在后台运行任意时间的组件。利用activity标记,你能选择地包含一个或多个receiver所支持的元素;
ContentProvider是用来管理持久化数据并发布给其他应用程序使用的组件。
2、ApiDemosApplication
ApiDemos的入口就是ApiDemosApplication类,代码如下:
package com.example.android.apis;
import android.app.Application;
import android.preference.PreferenceManager;
public class ApiDemosApplication extends Application {
@Override
public void onCreate() {
PreferenceManager.setDefaultValues(this, R.xml.default_values,
false);
}
//应用异常终止时调用
@Override
public void onTerminate() {
}
}
其中PreferenceManager是用户的喜好设置。
PreferenceManager.setDefaultValues(this, R.xml.default_values,
false);设置优先配置值。