WEB开发网
开发学院手机开发Android 开发 Android SDK 开发之应用程序基础 阅读

Android SDK 开发之应用程序基础

 2010-03-23 04:53:00 来源:WEB开发网   
核心提示:关于manifest文件的结构详见The AndroidManifest.xml.Intent filtersIntent 对象可以显式的指定一个目标component,如果这样的话,Android SDK 开发之应用程序基础(5),android会找到这个component(基于manifest文件中的声明)并激活它

关于manifest文件的结构详见The AndroidManifest.xml.

Intent filters

Intent 对象可以显式的指定一个目标component。如果这样的话,android会找到这个component(基于manifest文件中的声明)并激活它。但如果一个目标不是显式指定的,android必须找到响应intent的最佳component。它是通过将Intent对象和目标的intent filter相比较来完成这一工作的。一个component的intent filter告诉android该component能处理的intent。intent filter也是在manifest文件中声明的。例如:

〈?xml version="1.0" encoding="utf-8"?〉

〈manifest . . . 〉

〈application . . . 〉

〈activity android:name="com.example.project.FreneticActivity"

android:icon="@drawable/small_pic.png"

android:label="@string/freneticLabel"

. . . 〉

〈intent-filter . . . 〉

〈action android:name="android.intent.action.MAIN" /〉

〈category android:name="android.intent.category.LAUNCHER" /〉

〈/intent-filter〉

〈intent-filter . . . 〉

〈action android:name="com.example.project.BOUNCE" /〉

〈data android:mimeType="image/jpeg" /〉

〈category android:name="android.intent.category.DEFAULT" /〉

〈/intent-filter〉

〈/activity〉

. . .

〈/application〉

〈/manifest〉

第一个filter — action "android.intent.action.MAIN"和 category "android.intent.category.LAUNCHER"表示该activity应该是在主程序启动界面中出现的一个程序,用户可以直接在主界面中启动它。

第二个filter声明了一个可以操作某种特定类型数据的action。

一个component可以有任意多数量的intent filter,每一个都声明了不同的能力集合。如果它没有任何filter,那么它只能在显式指定名字的方式下启动。

对于在代码中创建和注册的broadcast receiver,intent filter直接被实例化为一个IntentFilter对象。其他的filter在manifest中设置。

关于Intent Filter 详见单独的文档。

Activities and Tasks

前面提到了,一个activity可以启动另一个activity,包括定义在不同的application中的activity。假设你希望用户显示某个地方的地图。已经有一个activity可以做这件事情,因此你的activity只需要把一个intent

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Android SDK 开发

编辑录入:coldstar [复制链接] [打 印]
赞助商链接