Android AIDL服务学习笔记
16lz
2021-01-23
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中的文件权限
- 浅谈Android系统进程间通信(IPC)机制Binder中的Server和Client获得
- Android录音文件在IOS上播放不出来的问题
- Android直播开发之旅(8):Android硬编解码接口MediaCodec原理剖析
- Android:Parcelable接口
- 几行代码看程序员的水平——Android文件命名规范
- 从零开始的 Android 新项目 - 收藏集 - 掘金
- Android — 创建文件及文件夹
- Android文件选择器的实例分享