Android Studio 创建AIDL以及Binder 原理
来源:互联网 发布:淘宝企业店铺介绍范文 编辑:程序博客网 时间:2024/05/15 09:19
复习Android 开发艺术探索 第2章 IPC机制 Binder原理 的时候发现书中这块代码是在Eclipse环境下编写的,此处换成Android Studio环境同时把要点梳理一下。
一、创建AIDL文件
首先创建单独的包aidl
其下创建:
Book.java ,这个没有什么好说的,书上有源码,概况就是:实现 parcelable接口。定义自己的成员变量,实现writeToParcel(Parcel out ,int flags) describeContens()方法,同时创建 CREATOR;
Book.aidl:
继续在aidl包下右键创建Book.aidl,这时会发现命名重复,创建不了,这时可以随便起一个名字,之后rename。
创建完成之后会发现 aidl文件在Android studio下会被自动移动到单独的一个aidl包下。如图:
IBookManager.aidl 也采用同样的方式创建。
书中eclipse 环境下这里Build之后 会在gen目录下生成对应的IBookManager.java,而Android Studio 则在generated-source下 本质上应该是一样的。
二、Binder原理
1.客户端发起远程请求,同时挂起当前线程(不能在UI线程调用的原因)。
2.继承stub的Binder将参数写入data,调用Transact(注意和服务端的区别)。
3.调用服务端的onTransact()(通过线程池实现,所以要注意同步问题),将结果返回到Binder。
4.返回数据给客户端,同时将客户端唤醒。
0 0
- Android Studio 创建AIDL以及Binder 原理
- android studio 创建aidl
- Android studio 创建AIDL
- android studio创建aidl文件
- Android studio 创建aidl文件夹
- Android Studio 创建AIDL Service
- AIDL 和binder 原理
- android Binder与AIDL
- Android aidl Binder进程间的通信以及使用详解
- Android Binder 全解析(3) -- AIDL原理剖析
- Android Binder 全解析(3) -- AIDL原理剖析
- android studio 编译aidl以及示例demo
- Android Studio中创建AIDL Service
- Android studio创建AIDL传递复杂参数
- Android Studio创建AIDL的若干问题
- Android studio 中创建AIDL Service
- 关于Android Studio的AIDL的创建
- Android studio中创建aidl文件
- 数位DP——HDU 4352 XHXJ's LIS
- 机器学习(1):监督/非监督学习
- Delphi DataSet和JSON互转函数
- 彻底了解Binder机制原理和底层实现
- 天梯赛华北赛区L1-7古风排版
- Android Studio 创建AIDL以及Binder 原理
- R语言入门(1)时间序列分析
- 核函数的充要条件-Mercer定理的证明
- java synchronized详解
- Big Number
- uboot-2010-03移植到tiny6410(1)
- ZOJ 2849【瞎暴力的搜索】
- jQuery中一些必须要知道的知识点总结--20个(下)
- spring3+quartz1集群配置、分布式集群配置