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,客户端的效果:

更多相关文章

  1. Android与JS交互之基本
  2. 使用MediaPlayer播放声音的异常
  3. Android友盟统计和埋点
  4. Android(安卓)Spinner不触发onItemSelected事件
  5. CountDownTimer倒计时器的使用
  6. andriod 4.0以上版本不调用onConfigrationChange方法的解决办法
  7. android scrollview 滑动到顶端或者指定位置
  8. android 与C/C++混合编程小例子讲解o
  9. Android中socket的实例分析(二)

随机推荐

  1. Android下写一个永远不会被KILL掉的进程/
  2. Android(安卓)Studio如何选择查看指定进
  3. Android(安卓)OpenGLES2.0(十四)——Obj格
  4. Android实现电量控制降低耗电
  5. Android中显示GIF动画的实现代码
  6. 【Android动态布局】之【ListView动态加
  7. Android和Linux的时间戳
  8. android sdk 下载和更新失败解决方案
  9. Android属性动画(下),InterPolator、ViewPro
  10. Android基于蓝牙的聊天demo