5.4 AIDL服务
5.4.1 AIDL知识简介
5.4.2 AIDL与 binder
5.4.3 AIDL接口的实现步骤
5.4.1 AIDL知识简介
AIDL: Android Interface Definition Language, Android 接
口定义语言。 在Android中,一个进程不能直接访问另一个进程的内存。因此传递对象时,只能将对象
拆分成操作系统能理解的简单形式,以达到跨界对象访问的目的。 采用AIDL服务的方式,通过预先定义的接口达到两个进程内部通信进程的目的。如果
需要在一个Activity中,访问另一个Service中的某个对象,需要先将对象转化成AIDL可
识别的参数,然后使用AIDL来传递这些参数,在消息的接收端使用这些参数组装成自
己需要的对象。 AIDL在Android的作用
连接两个java进程的桥梁,使本地程序可以与远程服务通信。 使C/C++的JNI库可以被更多的java程序调用,即代码利用性、商业效益更加高
5.4.3 AIDL接口的实现步骤
定义IService.aidl文件
设计并实现一个service继承IService.Stub
通过ServiceManager.addService(“服务名”)启动service
定义Manager, 调用ServiceManager.getService(“服务名”)获 得service,并通过IService.Stub.asInterface(“服务名”)获得
service的proxy类,即Manager
通过proxy调用service函数
※Service必须先启动,才可以为他人服务
AIDL服务介绍和使用
最新推荐文章于 2024-05-02 00:02:32 发布