跨进程访问的服务称为AIDL(Android Interface Definition Language)服务。

AIDL:Android Interface Definition Language,即Android接口定义语言。

什么是AIDL

Android系统中的进程之间不能共享内存,因此,需要提供一些机制在不同进程之间进行数据通信。 为了使其他的应用程序也可以访问本应用程序提供的服务,Android系统采用了远程过程调用(Remote Procedure Call,RPC)方式来实现。与很多其他的基于RPC的解决方案一样,Android使用一种接口定义语言(Interface Definition Language,IDL)来公开服务的接口。我们知道4个Android应用程序组件中的3个(Activity、BroadcastReceiver和ContentProvider)都可以进行跨进程访问,另外一个Android应用程序组件Service同样可以。因此,可以将这种可以跨进程访问的服务称为AIDL(Android Interface Definition Language)服务。

建立AIDL服务要比建立普通的服务复杂一些,具体步骤如下:

(1)在Eclipse Android工程的Java包目录中建立一个扩展名为aidl的文件。该文件的语法类似于Java代码,但会稍有不同。

(2)如果aidl文件的内容是正确的,ADT会自动生成一个Java接口文件(*.java)。

(3)建立一个服务类(Service的子类)。

(4)实现由aidl文件生成的Java接口。

(5)在AndroidManifest.xml文件中配置AIDL服务,尤其要注意的是,<action>标签中android:name的属性值就是客户端要引用该服务的ID,也就是Intent类的参数值。

转自

更多相关文章

  1. Android中有用的组件被选中和按下去的变换样式
  2. APP开发实战114-Android(安卓)Studio打包介绍
  3. android rootfs
  4. android存取数据方式:文件、SharedPreferences
  5. Android解析XML文件的三种方式
  6. android ndk 调用第三方so
  7. Unbuntu下Android(安卓)studio报Unable to recreate missing deb
  8. Andorid UI设计技巧
  9. NPM 和webpack 的基础使用

随机推荐

  1. 无Mac机IOS开发环境搭建手记
  2. android实时滤镜的效率问题
  3. android开发基础(Android Application Fun
  4. Android(安卓)WebView加载Chromium动态库
  5. Android Wear之android穿戴式设备应用开
  6. android中获取手机相机和相册可以传多张
  7. 什么是Android(安卓)系统。
  8. Android(安卓)Context 到底是什么?
  9. Android之第三方库“scnu-jwc-sdk-1.0.0
  10. Android安卓开发集成微信第三方扫描二维