2011年6月21日星期二

  android 学习

Intent分发给Android应用程序,应用程序通IntentFilter注册自己,IntentFilter通常位于AndroidManifest.xml文件中。IntentFilter通常在应用程序的AndroidManifest.xml中使用 标记进行定义。从本质上说,AndroidManifest.xml文件就是一个应用程序描述文件。

应用程序的组件为了告诉Android自己能响应、处理哪些隐式Intent请求,可以声明一个甚至多个Intent Filter。每个Intent Filter描述该组件所能响应Intent请求的能力——组件希望接收什么类型的请求行为,什么类型的请求数据。比如之前请求网页浏览器这个例子中,网页浏览器程序的Intent Filter就应该声明它所希望接收的Intent Action是WEB_SEARCH_ACTION,以及与之相关的请求数据是网页地址URI格式。如何为组件声明自己的Intent Filter? 常见的方法是在AndroidManifest.xml文件中用属性< Intent-Filter>描述组件的Intent Filter。

前面我们提到,隐式Intent(Explicit Intents)和Intent Filter(Implicit Intents)进行比较时的三要素是Intent的动作、数据以及类别。

Intent分为隐式Intent,它依赖于IntentFilter并且Android环境会将该Intent发送给适当的接收者。另一种是显式Intent,你可以指定让哪个类处理Intent。

如:public void onclick(View v)

{

try{

StartActivityForResult(new Intent(v.getContext(),RefreshJobs.class),0);
}

}

对于具备用户界面应用程序来说,它至少应该有一个Activity。Activity与用户界面屏幕之间多为一对一的关系。Android应用程序通常包含多个Activity。每个Activity可显示用户界面并响应一些系统和用户发起的事件。Activity使用一个或多个View向用户显示实际的用户界面元素。

Activity的主要任务之一是显示用户界面元素,而用户界面元素将以View的形式实现,并在XML布局文件中描述。从一个Activity到另一个Activity是通过startActivity(Intent)和startActivityForResult(Intent)方法来完成的。

服务启动工作是由抽象类Context的startService(Intent)方法来启动的。

没有评论:

发表评论