AIDL通信初步使用

1.因为是多进程通信,所以需要在AS中建立两个Module,一个服务端,一个客户端,项目结构如下
这里写图片描述

1.服务端module,其中主要包含了AIDL文件和Service文件,MainActivity文件默认不需要任何代码

2.服务端的AIDL文件,当用户床架项目完成后在app出右键新建AIDL文件,会自动生成(2)的目录结构,在IMyAidlInterface.aidl中,编写客户端需要调用服务端的方法(这里只演示向List中添加字符串,所以没有用到bean类,如果是对象数据的话需要实现Parcelable,序列化操作可自行百度),该步骤完成后需要执行Build-Make Project,用于在\app\build\generated\source\aidl\debug\com\example\ysg\aidldemo文件夹下生成服务端IMyAidlInterface.java文件,该文件是用来保证客户端与服务端进行通信的

3.新建MyService继承Service,新建IMyAidlInterface.Stub对象,重写IMyAidlInterface.aidl中的方法,并进行相应的操作,然后在onBind方法中返回IMyAidlInterface.Stub对象即可
4.在服务端的AndroidManifest.xml文件中注册服务
<service android:name=".MyService">
<intent-filter>
<action android:name="com.example.myservice"></action>
<category android:name="android.intent.category.DEFAULT"></category>
</intent-filter>
</service>

服务端到此完成了,已经可以点击运行了,不过因为MainActivity中什么都没有,所以页面空白,不过服务端已经启动了,接下来进行客户端的编写

5.在项目上新建module,生成appclient客户端

6.将服务端的(2)步骤的整个aidl文件复制到application对应的main文件夹下,然后再次执行Build-Make Project生成客户端IMyAidlInterface.java文件

7.在客户端的Activity中编写与服务器通信的代码

此时可以运行客户端,连接服务端,然后执行添加字符串和显示的操作了

以上步骤中各个文件代码如下

一、服务端步骤2用到的aidl文件

这里写图片描述

二、服务端步骤3用到的Service文件

这里写图片描述

三、客户端步骤7用到的MainActivity文件

这里写图片描述
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值