android接口定义语言,AIDL(android 接口定义语言)-Go语言中文社区

概述

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

使用步骤

A程序

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

7fc01e2e9d18996964aa0bf04831515c.png

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) {

}

};

参考地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值