图文演示AIDL的使用全过程

注意:本文不做任何理论性的解释说明,只有实际操作,至于Service的绑定过程,AIDL的实现过程之类的,一律不做深入讲解,具体的原理讲解,请跳转学习AIDL,这一篇文章就够了,这篇文章讲解的很详细,在此致敬


下面开始教程:

一、创建AIDL服务端


1、鼠标选中main文件夹,右键,new —— ADIL —— AIDL file,如图所示





2,输入aidl文件的名字,不要加后缀,如图所示,然后点击确定即可






3,生成后的目录结构如下所示






4,编写AIDL接口,如图所示





5,点击工具栏的build——make project,studio会帮我们把ADIL文件编译成二进制文件


6,创建AIDL的实现类,在java文件夹上右键,new Service , 输入文件名,系统会自动生成对应的文件,并且会自动在AndroidMainfest中帮我们配置好,生成的Service如图


7,实现前面定义的接口,具体编写方法看图


8,编辑,安装到手机上,这样,AIDL的Service端就完成了


二、编写AIDL的客户端


1、创建AIDL文件夹,main ——— new —— Folder —— AIDL Folder,


2,创建AIDL的存放文件夹,aidl ——new —— pacakge , 粘贴进我们前面生成的AIDL文件的包名,粘贴好之后,如图所示


3,把在Service端端生成的AIDL文件粘贴进我们创建好的文件夹里面,如图所示


4,点击工具栏的build——make project


5,把ADIL作为一个属性引入,同时把ServiceConnection也作为一个属性引入(可以在其它位置实现后再引入,我这里直接作为匿名内部类引入了)


6,在onServiceConnected里面实例化myAidlInterface,如图所示


7,在适当的时候绑定Service,(一定要在调用之前绑定),如图所示,实际使用中,最好做判空处理(示例代码中没写),注意在解绑,防止内存泄漏等问题

new ComponentName("cn.showmac.aidlservice", "cn.showmac.aidlservice.PlusService")
ComponentName的两个参数,第一个是AIDL文件的包名,第二个是要返回AIDL对象的Service





8,安装,执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值