AIDL
AIDL:Android Interface Define Language,它是Android的一种接口定义语言,用于生成可以在Android设备上,两个进程之间进行通信的代码,即实现进程间的通信
AIDL的编写主要分为如下三部分:
1.创建AIDL
(1)创建要操作的实体类,实现Parcelable接口,以便序列化/反序列化
(2)新建AIDL文件夹,在其中创建接口AIDL文件以及实体类的映射AIDL文件
(3)Make project,生成Binder的java文件
AIDL文件大致可以分为两类。一类是用来定义parcelable对象,以供其他AIDL文件使用AIDL中非默认支持的数据类型的。一类是用来定义方法接口,以供系统使用来完成跨进程通信的。
2.服务端
(1)创建Service,在其中创建上面生成的binder对象实例,实现接口定义的方法
(2)在onBind()中返回
3.客户端
(1)实现ServiceConnection接口,在其中拿到AIDL类
(2)bindService()
(3)调用AIDL类中定义好的操作请求