WEB开发网
开发学院手机开发Android 开发 Android应用程序的粘合剂——intent 阅读

Android应用程序的粘合剂——intent

 2010-10-14 06:31:00 来源:本站整理   
核心提示:(未来一段时间需要研究Android应用程序的开发,主要是培训应用程序开发工程师,Android应用程序的粘合剂——intent,如果谁有兴趣加入我们公司,非常欢迎,请各位网友指正,另外如果大家对binder有兴趣的话,)Android应用程序是由Activity、Service、Broadcast receiver、

(未来一段时间需要研究Android应用程序的开发,主要是培训应用程序开发工程师,如果谁有兴趣加入我们公司,非常欢迎。)

Android应用程序是由Activity、Service、Broadcast receiver、Content provider组成,但是这些组件的粘合剂是intent。本文简单介绍一下intent的使用和特点。

整个Android系统的设计思想就是设计模式里面的代理模式。所有的应用程序都向系统进行注册其所持有的组件(Activity、Service、 Broadcast receiver、Content provider),每个组件能够处理的Intent等等(需要注册的内容还很多,比如应用程序所持有的权限等)。Android应用程序通过 AndroidManifest.xml向系统注册。这样Android系统就知道了系统中所有的组件,和每个组件所有能够处理的intent,这样当应用程序需要启动其他组件的时候,只是简单的抛出一个消息给Android系统就可以了,不需要关心具体哪个应用程序的组件来处理这个消息,因为系统会根据你的intent请求来查询系统中有能力处理这个intent的应用程序组件。比如如果你想打一个电话的话,只需要抛出一个ACTION_CALL的intent就可以了,Android系统自动会把电话应用程序启动起来,并把这个消息分发给电话应用程序进行拨号。

另外我们可以看到,这里应用程序如果需要一些功能的时候,不需要自己实现,只需要向系统请求就可以。由系统来决定那个应用程序组件来为你服务。非常有可能是另外一个应用程序的组件为你服务。

Android每个应用程序(APK)都运行在一个进程中,通过intent,会发现这涉及到进程间通信。Android系统是通过binder机制实现的进程间通信。当有intent请求需要其他应用程序来处理的时候,Android系统将会通过Binder机制,启动相应的程序来处理,然后处理结果再通过Binder机制返回给发起应用程序。所以说binder机制是Android应用程序的基础,如果没有binder机制,Android应用程序开发将是另外一番景象。Binder机制Simon也正在学习,当有心得的时候再和大家交流。当然Binder本身应用程序开发人员很少会用到,但是作为应用程序开发人员一定要知道他的存在。可以使你对Android应用程序有更深刻的认识。

本文没有详细介绍intent的使用,这个大家请参考Intents and Intent Filters。本文只是谈一下自己对intent作用的认识,如有错误之处,请各位网友指正。

另外如果大家对binder有兴趣的话,可以推荐以下两篇文章参考。

http://blog.csdn.net/maxleng/archive/2010/04/15/5490770.aspx

http://www.limodev.cn/blog/archives/777

Tags:Android 应用程序 粘合剂

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