> 文章列表 > android aidl

android aidl

android aidl

本文只是记录个人学习aidl的实现,如需学习请参考下面两篇教程

官方文档介绍Android 接口定义语言 (AIDL)  |  Android 开发者  |  Android Developers

本文参考文档Android进阶——AIDL详解_android aidl_Yawn__的博客-CSDN博客

AIDL定义:Android 接口定义语言 (Android Interface Definition Language) ,定义客户端与服务均认可的编程接口,以便二者使用进程间通信 (IPC) 进行相互通信。

aidl应用场景:不同应用客户端通过IPC访问服务,希望在服务进行多线程处理;

Binder应用场景:无需跨不同应用执行并发 IPC;

Messager应用场景:执行 IPC,但需要处理多线程;

创建 .aidl 文件

创建.aidl文件,创建失败解决方法解决androidstudio2022.2.1新建不了aidl文件_android_lingz的博客-CSDN博客

AIDL 支持下列数据类型:

  • Java 编程语言中的所有原语类型(如 intlongcharboolean 等)String,CharSequence,List,Map

 2. 实现接口

2.1 Default 

  public static class Default implements com.example.testkotlin.IMyAidlInterface

Default重写了basicTypes 和asBinder方法

2.2 Stub

  public static abstract class Stub extends android.os.Binder implements com.example.testkotlin.IMyAidlInterface {

Stub 实现了本地接口且继承了 Binder 对象 ,在生成 Stub 对象的时候会调用 asInterface 方法