AIDL实例浅析
来源:互联网 发布:网络推广兼职是真是假 编辑:程序博客网 时间:2024/05/16 05:25
此为笔者在阅读过《Androd开发艺术探索》后的一些体会,demo采用书中源码,做一个简单分析
本篇旨在通过AIDL的demo里了解IPC和Binder,那么谈到AIDL就不得不提一下IPC和Binder。
首先IPC的含义是进程间通信亦称跨进程通信,指两个进程之间的数据交换工程。(不做过多介绍,有兴趣的朋友可以上网找更详细的答案)
Binder则是一个更加深入的话题,此同样不做过多介绍,可参考老罗的Android之旅对于Binder的介绍:
⑴从IPC角度来说,它是Android中一种跨进程通信的方式
⑵在应用层方面,Binder是客户端和服务端进行通信的媒介
当绑定了服务端的服务以后,服务端会返回一个Binder对象,通过这个Binder对象,我们可以获取服务端的数据以及服务,下面以AIDL为例(图片示例)
声明Book类并序列化(IPC中传输自定义的对象时,那么需要序列化)
在AIDL文件中声明Book类已经被序列化
现在给服务端赋予4个方法:⑴可从服务端获取图书列表⑵可增加图书列表到服务端⑶在服务端注册监听,当有新书的时候,通知客户端⑷解除注册
对监听接口的声明(注意in表示输入型参数)
写完以上AIDL接口以后,系统会自动在gen目录生成Ixxx.java文件,可以来看一下文件的结构,以IBookManager.java为例
接下来开始搞定客户端....
哈~这样,客户端和服务端就搭建完毕...来看看运行效果如图所示,客户端收到了来自服务端不断创建的新书的信息...既然服务端推送的功能已经实现,自然获取所有图书和添加新书功能也不在话下,此处就不再复述,各位朋友可以自行测试~
下面附上原理图
上面是AIDL单一接口的实现,如果是服务端有多个AIDL接口呢?也简单,只要加上BinderPool即可,创建不同的Binder对象,上图说话
- AIDL实例浅析
- AIDL浅析
- AIDL浅析
- AIDL实例
- AIDL实例
- android aidl浅析
- 浅析AIDL的使用
- [Android] AIDL浅析
- Android AIDL 实现浅析
- 浅析 - AIDL简单例子
- Android aidl Binder框架浅析
- Android aidl Binder框架浅析
- Android aidl Binder框架浅析
- Android aidl Binder框架浅析
- Android aidl Binder框架浅析
- Android aidl Binder框架浅析
- Android aidl Binder框架浅析
- Android aidl Binder框架浅析
- 基于repcached的 memcache 主从配置实现
- android 如何把一个 RelativeLayout或ImageView背景设为透明
- SDAU 搜索专题 18 Tempter of the Bone
- 跟我一起学习MySQL技术内幕(第五版):(第二章学习日记1)
- AngularJS 1.x学习<1>
- AIDL实例浅析
- C语言单链表实现
- nexus5进入recovery模式
- Java中怎样保持PNG背景的透明属性(背景不变黑)
- C++第3次作业
- 区块链再思考:
- (三)Mina源码解析之IoFilter
- OC阅读笔记十四:dealloc
- web