会员注册 | 登录 | 微信快捷登录 支付宝快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

   首页 人人文库网 > 资源分类 > DOC文档下载

33认识Binderjava类别的角色.doc

  • 资源星级:
  • 资源大小:23.00KB   
  • 资源格式: DOC        下载权限:注册会员/VIP会员
您还没有登陆,请先登录。登陆后即可下载此文档。
  合作网站登录: 微信快捷登录 支付宝快捷登录   QQ登录   微博登录
友情提示
2:本站资源不支持迅雷下载,请使用浏览器直接下载(不支持QQ浏览器)
3:本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

33认识Binderjava类别的角色.doc

33.认识Binder.java类别的角色Binder.java是Android应用框架里的重要组件,由于它提供了IBinder接口,让Activity等组件能透过IBinder接口而远程呼叫应用程序里的Service组件。对于Binder.java类别,我们可以从不同角度来看它所扮演的角色。从应用程序的Service组件来看,Binder.java就扮演Service的接口对象角色。当Activity类别想呼叫远程的Service类别之函数时,可要求Service类别诞生一个Binder.java类别的对象,由它提供IBinder接口给Activity组件,就搭起Activity与Service组件之间的沟通桥梁了。从IPCInterProcessCommunication角度来看,上述的沟通桥梁是跨进程的IPC沟通机制。Binder.java会透过JNI接口与本地Native的底层Binder服务沟通合作。在Activity和Service所在的进程之间建立Proxy/Stub机制,以完成Activity与Service之间的连结Connection。一旦完成连结之后,Activity就能透过IBinder接口而呼叫Service的函数,Proxy/Stub机制还会进行跨进程的Marshalling动作,协助Activity与Service之间跨进程的数据交换。从框架Framework的角度来看,他只是Android里的BBinder.cpp类别在Java层的一个代表者,它以父类别Superclass形式出现,提供给Java层的应用类别如myBinder.java来继承,协助底层的BinderSystem设计在先能取得应用类别设计在后的客制化部分的信息。例如有了Binder.java的协助,BinderSystem得以从呼叫Service的onBind函数而得知如何呼叫myBinder.java所客制化的onTransact函数,如此让Android框架幕后的BinderSystem能与目前的myBinder.java应用类别结合起来,而达到框架的目的了。表面上,myActivity.java类别Activity.java的子类别呼叫myBinder.javaBinder.java的子类别的transact函数及onTransact函数,在实践机制里,myActivity.java是透过Connection对象去与BBinder.cpp沟通,然后BBinder.cpp才返向呼叫myBinder.java里的transact和execTransact等函数。由于myActivity.java与myService.java之呼叫是透过BBinder.java等底层对象来达成的,它们之间进行数据交换时,底层就有机会进行Marshalling动作,而达成IPC沟通了。

注意事项

本文(33认识Binderjava类别的角色.doc)为本站会员(baixue100)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网([email protected]),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

copyright@ 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5