AIDL(android 接口定义语言)
16lz
2022-06-11
概述
Android interface define language,android接口定义语言;用于生成可以在Android设备上两个进程之间进程通信(IPC,interprocess communication)的代码。
使用步骤
A程序
-
1、在某个包下创建A.aidl文件;(ADT会在gen目录自动生成A.java文件)
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的使用情况和实例介绍
更多相关文章
- Android读写文件
- android ExpandableListView详解
- csr8811蓝牙芯片porting总结
- android通用文件操作
- android下大文件分割上传
- 怎么在android的XML文件里加入凝视
- android 开发-文件存储之读写sdcard
- Android(安卓)APK反编译详解(附图)
- NPM 和webpack 的基础使用