AIDL:Android Interface Definition Language,Android接口定义语言,是Android系统的IPC
(Inter-Process Communication,进程间通信),可以利用AIDL定义客户端和服务来实现进程互相通信时都认可的接口。
共支持四种数据类型:
Java的基础数据类型List和Map,限制有二:子元素必须是AIDL支持的数据类型;服务端的类型必须是ArrayList和HashMap其它AIDL生成的接口实现Parcelable的类
编写AIDL基本步骤:
创建 AIDL
创建实体类,并实现 Parcelalle接口新建 aidl 文件夹,在其中创建接口 aidl 文件以及实体类的映射 aidl 文件Make project ,生成 Binder 的 Java 文件服务端
创建 Service,在其中创建上面生成的 Binder 对象实例,实现接口定义的方法在 onBind() 中返回添加服务到manifest中(如果不是同个App,exported需要设置为true)客户端
实现 SeriviceConnection 接口,在其中拿到 AIDL 类bindService()(5.0以后不能隐形调用服务,需要转换为显性)调用 AIDL 类中定义好的操作请求
自己写的Demo
转载请注明原文地址: https://www.6miu.com/read-2631698.html