前言

Android进程间通信技术,有aidl,Binder,socket,管道,信号量等。经常用到Binder,Aidl。

AIDL(Android Interface definition language)安卓接口定义语言,它是一种Android内部进程通信接口描述语言。通过Aidl 可以定义不同应用进程之间的接口。

使用Aidl定义语言实现不同apk之间进行通信的步骤:
快速实现apk之间调用加法运算
首先建立Service端:

1.服务端建立aidl文件夹,建立aidl后缀文件(方式一.建立java类型的接口文件,更改后缀名称为aidl,方式二直接建立aidl文件,写上服务端对外提供的服务进行)

interface MyAidlInterface ( ){public plus(int var1,int var2)}

2.build apk,自动生成java文件。java文件 android.os.IInterface接口,内部static abstract class Stub extends android.os.Binder implements com.tseng.college.bicycle.IMyAidlInterface ,
内部抽象类继承Binder,并实现了对外服务接口。
3.建立service类,定义服务内部类,继承抽象的Stub,并实现服务对外提供接口的方法。
4.在清单文件中声明service,exported=true,允许外部应用进行调用。

客户端:
1.创建客户端,将aidl文件及文件夹拷贝到客户端,build之后生成与服务端一摸一样java文件。
注意: 文件路径保持与服务端一致
2.使用bindservice方式开启服务

 private boolean a(Activity paramActivity)    {        Context localContext = paramActivity.getApplicationContext();        Intent mIntent = new Intent("被开启服务的路径名");        mIntent.setPackage("被开启服务的应用包名");        return localContext.bindService(mIntent, this.serviceConnection, Context.BIND_AUTO_CREATE);                }

3.在onBinder中返回 服务端的服务接口= IBinder.asInterface(),进行调用即可。

以上代码完成aidl接口定义语言实现不同apk之间通信。

Android 接口定义语言AIdl_第1张图片

更多相关文章

  1. Android studio怎样添加assets文件
  2. 反编译和重新打包Android的dex文件
  3. Android中最重要的采用pull解析xml文件
  4. 修改Android Studio默认配置文件路径
  5. Android XML文件中的@、?、@+的该怎么理解?
  6. android studio开发环境配置(指定SDK及卸载)附安装文件网盘地址(win
  7. Android编译过程总结及android中各种img文件的作用以及系统启动

随机推荐

  1. CV学习笔记(二十三):卡号格式化匹配
  2. 师妹问我:如何在7分钟内彻底搞懂word2vec?
  3. 小白跟学系列之手把手搭建NLP经典模型-2(
  4. CV学习笔记(二十四):发票类OCR识别
  5. CV学习笔记(二十二):CRNN+CTC
  6. CV学习笔记(二十一):文本识别(DenseNet)
  7. CV学习笔记(二十):数据集拼接生成
  8. CV学习笔记(十九):文本数据集生成(text_rend
  9. CV学习笔记(十八):CardOCR
  10. CV学习笔记(十七):Windows环境复现ChineseOC