Android支持两种类型的服务:本地服务与远程服务。本地服务只能供承载它的应用程序使用,而远程服务还可以供其它应用程序使用。在Android中,远程服务可以使用AIDL(Android Interface Definition Language)向客户端定义自身。


下面说明创建AIDL服务的步骤:

  1. 编写一个AIDL文件(以.aidl为后缀)来向客户端定义接口,AIDL文件使用java语法。
  2. 将此AIDL文件添加到eclipse项目的src目录下。ADT将会调用AIDL编译器自动生成一个java接口,此文件位于gen目录下,可以打开查看。
  3. 实现一个服务并从onBind()方法中返回生成的接口(一般我们在服务中实现这个接口,然后在onBind()方法中返回其实例)。
  4. 在Manifest中配置Service,这里我们必须要使用intent-filter,并为其添加action属性。
废话不说,上代码(很简单的代码): 项目结构

Android AIDL服务学习笔记

Person.aidl(注意:接口不能有修饰符)
RemoteServcie
Android Manifest
接下来我们实现客户端的项目,通过此项目我们可以访问刚才定义的远程服务。这里我们必须把在远程服务项目中定义 的AIDL接口复制到此项目中,并且要保证包名与远程项目中此接口文件所在包名相同,并且此包中的Activity不能和此文件同包。下面是项目结构与代码: Android AIDL服务学习笔记

Person.aidl同上
RemoteClient.java
下面是LogCat中的结果
Android AIDL服务学习笔记

这就是一个简单的AIDL服务创建与使用的过程 ,希望能帮到大家 。。

更多相关文章

  1. 修改Android中的文件权限
  2. 浅谈Android系统进程间通信(IPC)机制Binder中的Server和Client获得
  3. Android录音文件在IOS上播放不出来的问题
  4. Android直播开发之旅(8):Android硬编解码接口MediaCodec原理剖析
  5. Android:Parcelable接口
  6. 几行代码看程序员的水平——Android文件命名规范
  7. 从零开始的 Android 新项目 - 收藏集 - 掘金
  8. Android — 创建文件及文件夹
  9. Android文件选择器的实例分享

随机推荐

  1. android延迟进入主界面和点击按钮进入主
  2. Android应用程序使用Localsocket与Linux
  3. Android国际化
  4. 动态设置android:drawableLeft|Right|Top
  5. Activity切换导致的onCreate重复执行
  6. 基于Android客户端的人人网开放平台开发
  7. Android图片下载缓存库picasso解析
  8. ListView.setOnItemClickListener、setOn
  9. Android: 自定义Tab样式
  10. Lock-free atomic operations in Android