33认识Binderjava类别的角色.doc33认识Binderjava类别的角色.doc

收藏 分享

资源预览需要最新版本的Flash Player支持。
您尚未安装或版本过低,建议您

33认识BINDERJAVA类别的角色BINDERJAVA是ANDROID应用框架里的重要组件,由于它提供了IBINDER接口,让ACTIVITY等组件能透过IBINDER接口而远程呼叫应用程序里的SERVICE组件。对于BINDERJAVA类别,我们可以从不同角度来看它所扮演的角色。从应用程序的SERVICE组件来看,BINDERJAVA就扮演SERVICE的接口对象角色。当ACTIVITY类别想呼叫远程的SERVICE类别之函数时,可要求SERVICE类别诞生一个BINDERJAVA类别的对象,由它提供IBINDER接口给ACTIVITY组件,就搭起ACTIVITY与SERVICE组件之间的沟通桥梁了。从IPCINTERPROCESSCOMMUNICATION角度来看,上述的沟通桥梁是跨进程的IPC沟通机制。BINDERJAVA会透过JNI接口与本地NATIVE的底层BINDER服务沟通合作。在ACTIVITY和SERVICE所在的进程之间建立PROXY/STUB机制,以完成ACTIVITY与SERVICE之间的连结CONNECTION。一旦完成连结之后,ACTIVITY就能透过IBINDER接口而呼叫SERVICE的函数,PROXY/STUB机制还会进行跨进程的MARSHALLING动作,协助ACTIVITY与SERVICE之间跨进程的数据交换。从框架FRAMEWORK的角度来看,他只是ANDROID里的BBINDERCPP类别在JAVA层的一个代表者,它以父类别SUPERCLASS形式出现,提供给JAVA层的应用类别如MYBINDERJAVA来继承,协助底层的BINDERSYSTEM设计在先能取得应用类别设计在后的客制化部分的信息。例如有了BINDERJAVA的协助,BINDERSYSTEM得以从呼叫SERVICE的ONBIND函数而得知如何呼叫MYBINDERJAVA所客制化的ONTRANSACT函数,如此让ANDROID框架幕后的BINDERSYSTEM能与目前的MYBINDERJAVA应用类别结合起来,而达到框架的目的了。表面上,MYACTIVITYJAVA类别ACTIVITYJAVA的子类别呼叫MYBINDERJAVABINDERJAVA的子类别的TRANSACT函数及ONTRANSACT函数,在实践机制里,MYACTIVITYJAVA是透过CONNECTION对象去与BBINDERCPP沟通,然后BBINDERCPP才返向呼叫MYBINDERJAVA里的TRANSACT和EXECTRANSACT等函数。由于MYACTIVITYJAVA与MYSERVICEJAVA之呼叫是透过BBINDERJAVA等底层对象来达成的,它们之间进行数据交换时,底层就有机会进行MARSHALLING动作,而达成IPC沟通了。
编号:201312142343467857    类型:共享资源    大小:23.00KB    格式:DOC    上传时间:2013-12-14
  
3
关 键 词:
IS 电气 高压 110kv 220kv 550kv 800kv
  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:33认识Binderjava类别的角色.doc
链接地址:http://www.renrendoc.com/p-217857.html

当前资源信息

4.0
 
(2人评价)
浏览:9次
baixue100上传于2013-12-14

官方联系方式

客服手机:17625900360   
2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   

精品推荐

相关阅读

人人文库
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

网站客服QQ:2846424093    人人文库上传用户QQ群:460291265   

[email protected] 2016-2018  renrendoc.com 网站版权所有   南天在线技术支持

经营许可证编号:苏ICP备12009002号-5