概述

Android interface define language,android接口定义语言;用于生成可以在Android设备上两个进程之间进程通信(IPC,interprocess communication)的代码。

使用步骤

A程序

  • 1、在某个包下创建A.aidl文件;(ADT会在gen目录自动生成A.java文件)


    AIDL(android 接口定义语言)_第1张图片 1.png
  • 2、在A.aidl文件下定义自己需要的接口
  • 3、创建一个myService类继承Service类,在这个类中创建一个内部类去实现aidl中的接口,并在onBind()方法中返回此类对象。注意:创建类是A.Stub类
 public class AIDLService extends Service {    @Override    public void onCreate() {        super.onCreate();    }    @Nullable    @Override    public IBinder onBind(Intent intent) {        return new IServiceAIDL.Stub(){            @Override            public int getPrice() throws RemoteException {                return 0;            }            @Override            public String getName(String str) throws RemoteException {                return null;            }        };    }}
  • 4、主菜单配置service组件
      
  • 5、客户端需要创建ServiceConnection类,重写onServiceConnection()方法,在此方法中接受IBinder。(如果客户端调用的不是同一个应用,需要将AIDL文件带包拷贝到应程序文件目录中)
  IServiceAIDL remoteAIDL;    private ServiceConnection serviceConnection = new ServiceConnection() {        @Override        public void onServiceConnected(ComponentName componentName, IBinder iBinder) {            remoteAIDL = IServiceAIDL.Stub.asInterface(iBinder);        }        @Override        public void onServiceDisconnected(ComponentName componentName) {        }    };
参考地址

Android 接口定义语言 (AIDL)
AIDL的使用情况和实例介绍

更多相关文章

  1. android 开发-文件存储之读写sdcard
  2. 怎么在android的XML文件里加入凝视
  3. android下大文件分割上传
  4. Android里面用XML定义菜单资源
  5. android 打开预览不同类型文件
  6. Android中使用PULL方式解析XML文件深入介绍
  7. Android使用文件管理器打开指定文件夹,浏览里面的内容

随机推荐

  1. 数据库中间件 MyCAT源码分析:【单库单表】
  2. linux系统中重启网卡后网络不通(NetworkMa
  3. 分布式事务 TCC-Transaction 源码分析 —
  4. Redis 哈希结构内存模型剖析
  5. FAlinux01-1基础
  6. 注册中心 Eureka 源码解析 —— Eureka-C
  7. 分布式消息队列 RocketMQ源码解析:事务消
  8. 数据库中间件 MyCAT 源码分析 —— 【单
  9. 使用Python开发客户端和服务端程序 理
  10. 分布式事务 TCC-Transaction 源码解析 —