Android Studio AIDL实现跨进程通信
来源:互联网 发布:php与html的区别 编辑:程序博客网 时间:2024/06/05 09:59
AIDL:Android Interface Definition Language,即Android接口定义语言.
android studio中使用aidl实现跨进程通讯,具体步骤如下:
一:服务端
第一步:通过as创建一个aidl文件,在app右键,如下图:
输入自己想要的名字,别的都默认,点击Finish 我这里的名字叫 CalculateAidlInterface创建好如下:
再看看 CalculateAidlInterface.aidl 里面怎么写的,其实就一个计算的方法 客户端传2个int类型的值,服务端计算和
第二步:CalculateAidlInterface.aidl 编写完成之后 需要Build–>Make Module app,生成相应的java文件,如下图:
第三步:接下来,就该完成我们的CalculateAidlService逻辑部分了,CalculateAidlService.java代码如下:
先说下我遇到的坑,我是通过as右键创建的service 他自动会加上下面2个属性 就会导致客户端调用不起来,所以记得一定要删除
android:enabled=”false”
android:exported=”false”
再来看下AndroidManifest.xml中CalculateAidlService的配置:action是客户端调用用到的。
服务端就已经完成了。接下来我们来看一下客户端的:
二:客户端
第一步:同样需要和服务端一样创建aidl文件,可以把服务器的原封不动的复制过来,包括包名。
第二步:再次执行 Build–>Make Module app
再来看下客户端怎么调用的?
第三步:先创建一个ServiceConnection 对象
private ServiceConnection mServiceConnection = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName arg0) {
} @Override public void onServiceConnected(ComponentName name, IBinder binder) { //获取远程Service的onBinder方法返回的对象代理 service = CalculateAidlInterface.Stub.asInterface(binder); if (service != null) { int calculation = 0; try { calculation = service.calculationAddition(1, 2); } catch (RemoteException e) { e.printStackTrace(); } text.setText("我是客户端:calculationResult = " + calculation); } }
};
第四步:绑定
第五步:调用
第六步:不用的时候解除绑定
到此代码就全部结束了,简单吧,下面我们来看一下效果如何:
1,服务端的效果
2,客户端的效果:
- Android Studio AIDL实现跨进程通信
- Android Studio实现AIDL跨进程通信
- android studio AIDL跨进程通信
- Android使用Aidl实现跨进程通信
- android 实现aidl跨进程通信之一
- AIDL实现跨进程通信
- AIDL实现跨进程通信
- AIDL实现跨进程通信
- Android跨进程通信-AIDL
- Android跨进程通信-AIDL
- Android AIDL跨进程通信
- Android AIDL跨进程通信
- Android 跨进程通信: AIDL
- Android:AIDL跨进程通信
- android studio 中aidl文件的使用并且实现跨进程的通信
- Android中AIDL实现(跨进程通信)
- Android中AIDL实现(跨进程通信)
- Android中AIDL实现(跨进程通信)
- 如何识别短信验证码平台的好坏
- C++ STL中Map的按Key排序和按Value排序
- 【best-time-to-buy-and-sell-stock-ii】
- Android学习
- MySQL5.7 添加用户、删除用户与授权
- Android Studio AIDL实现跨进程通信
- Spring boot @Qualifier doesn't work with datasources
- cocoapods安装、安装中可能遇到问题以及使用
- Veeam B&R 9.5 Install
- 数据结构与算法分析思维导图
- javax.mail附件大小限制报错
- 第2章 随机变量及其分布
- Python学习Day1
- Android软键盘遮挡的解决方案