AIDL定义:安卓接口定义语言,可以在一个应用中绑定其他应用的service,实现应用之间的交互,也可以在同一个应用中使用AIDL
AIDL使用的步骤:
- 创建一个AIDL
- 在AIDL中定义方法
- make project
- 实现类 extends AIDL.Stub
- service中返回AIDL
- 通过绑定服务中返回的ibinder对象调用AIDL中的方法
步骤1:创建一个AIDL
注意! AIDL的文件夹是与java文件夹同级的!
2.在AIDL中定义方法
AIDL其实是一个interface
此处的注释不能出现中文,否则在第三步中无法生成正确的.java文件
此处的in只是一个标记
- in标记:传参数给服务端使用,服务端只能读,不能改
- out标记:将对象给服务端,对象中的内容是默认的,服务端进行修改,修改后可传给客户使用
- inout标记:结合in标记与out标记的作用
3.make project生成对应的java文件
make project在Build目录下可找到!
重构完成的项目可在该目录下找到AIDL对应的.java文件
4.实现类继承自AIDL.Stub
控制台中打印出相关信息仅为方便测试:
5.service中返回AIDL接口
6.通过绑定服务返回的ibinder对象实现AIDL中的方法
创建ibinder对象,使用AIDL中的方法: