WEB开发网
开发学院手机开发Android 开发 Android Activity的详细讲解 阅读

Android Activity的详细讲解

 2010-08-14 00:34:00 来源:WEB开发网   
核心提示:< action android:value="android.intent.action.PICK" />< category android:name="android.intent.category.DEFAULT" />< data andr

< action android:value="android.intent.action.PICK" />

< category android:name="android.intent.category.DEFAULT" />

< data android:mimeType="vnd.android.cursor.dir/vnd.google.note" />

< /intent-filter>

< intent-filter>

< action android:name="android.intent.action.VIEW" />

< action android:value="android.intent.action.EDIT" />

< action android:value="android.intent.action.PICK" />

< category android:name="android.intent.category.DEFAULT" />

< data android:mimeType="vnd.android.cursor.dir/vnd.google.note" />

< /intent-filter>

这里面配置用到了action, data, category这些东西,那么聪明的你一定想到intent里也会有这些东西,然后一匹配不就找到接收者了吗?

action其实就是一个意图的字符串名称。

上面这段intent-filter的配置文件说明了这个Activity可以接受不同的Action,当然相应的程序逻辑也不一样咯,提一下那个 mimeType,他是在ContentProvider里定义的,你要是自己实现一个ContentProvider就知道了,必须指定 mimeType才能让数据被别人使用。

不知道原理说明白没,总结一句,就是你调用别的界面不是直接new那个界面,而是通过扔出一个intent,让系统帮你去调用那个界面,这样就多么松藕合啊,而且符合了生命周期被系统管理的原则。

想知道category都有啥,Android为你预先定制好的action都有啥等等,请亲自访问官方链接Intent

ps:想知道怎么调用系统应用程序的同学,可以仔细看一下你的logcat,每次运行一个程序的时候是不是有一些信息比如:

Starting activity: Intent { action=android.intent.action.MAIN categories={android.intent.category.LAUNCHER} flags=0x10200000 comp={com.android.camera/com.android.camera.GalleryPicker} }

再对照一下Intent的一些set方法,就知道怎么调用咯,希望你喜欢:)

上一页  1 2 3 4 5 

Tags:Android Activity 详细

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