本文主要是介绍AIDL使用规范及调用过程解析(Android Q),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
AIDL使用介绍
AIDL的全称是Android Interface definition language,一看就明白,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口,用处当然就是用来进程间的通信和方法调用了。其实AIDL是Binder的一个上层实现,它简化了Binder的使用,在编译时,由编译器帮助我们完成了大量工作(例如,生成AIDL文件所对应的.java类)。
先介绍一下AIDL进程间通信的流程。
AIDL通信流程简介
1. AIDL接口的创建
AIDL文件中,并不是所有的数据类型都是可以使用的,它支持的数据类型有:
- 基本数据类型(int,long,char,boolean,double等)
- String和CharSequence
- List:只支持ArrayList,而且list中的元素也必须是 AIDL 支持的类型
- Map:只支持HashMap,里面的key和value也必须是AIDL支持的类型
- Parceable:所有实现了 Parceable 接口的对象
- AIDL:所有的 AIDL 接口本身也可以在 AIDL 文件中使用,所以 IBinder 类型也是支持的
2. 服务端
服务端首先要创建一个 Service 用来监听客户端的请求,然后将在对应AIDL文件中声明的接口实现,并且通过onbind函数返回相应 IBind
这篇关于AIDL使用规范及调用过程解析(Android Q)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!