Android(安卓)AIDL服务学习笔记
16lz
2021-12-30
Android支持两种类型的服务:本地服务与远程服务。本地服务只能供承载它的应用程序使用,而远程服务还可以供其它应用程序使用。在Android中,远程服务可以使用AIDL(Android Interface Definition Language)向客户端定义自身。
下面说明创建AIDL服务的步骤:
- 编写一个AIDL文件(以.aidl为后缀)来向客户端定义接口,AIDL文件使用java语法。
- 将此AIDL文件添加到eclipse项目的src目录下。ADT将会调用AIDL编译器自动生成一个java接口,此文件位于gen目录下,可以打开查看。
- 实现一个服务并从onBind()方法中返回生成的接口(一般我们在服务中实现这个接口,然后在onBind()方法中返回其实例)。
- 在Manifest中配置Service,这里我们必须要使用intent-filter,并为其添加action属性。
Person.aidl(注意:接口不能有修饰符)
RemoteServcie
Android Manifest
接下来我们实现客户端的项目,通过此项目我们可以访问刚才定义的远程服务。这里我们必须把在远程服务项目中定义 的AIDL接口复制到此项目中,并且要保证包名与远程项目中此接口文件所在包名相同,并且此包中的Activity不能和此文件同包。下面是项目结构与代码:
Person.aidl同上
RemoteClient.java
下面是LogCat中的结果
这就是一个简单的AIDL服务创建与使用的过程 ,希望能帮到大家 。。
更多相关文章
- Android:Parcelable接口
- android消息推送-XMPP
- Android推送方式比较
- 浅谈Android系统进程间通信(IPC)机制Binder中的Server和Client获得
- Android(安卓)新闻客户端案例
- Android官方开发文档Training系列课程中文版:连接无线设备之网络
- Android的binder机制分析
- Android(安卓)初始化语言(Android(安卓)init Language翻译)
- Android《第三章:AIDL与Messenger》