设为首页 加入收藏

TOP

Android开发教程:Service的远程调用
2014-11-24 14:46:30 来源: 作者: 【 】 浏览:21
Tags:Android 开发 教程 Service 远程 调用

AIDL是Android的一种接口描述语言; 编译器可以通过aidl文件生成一段代码,通过预先定义的接口达到两个进程内部通信进程的目的. 如果需要在一个Activity中, 访问另一个Service中的某个对象, 需要先将对象转化成 AIDL可识别的参数(可能是多个参数), 然后使用AIDL来传递这些参数, 在消息的接收端, 使用这些参数组装成自己需要的对象。


AIDL RPC机制是通过接口来实现的,类似Windows中的COM或者Corba,但他是轻量级的,客户端和被调用实现之间是通过代理模式实现的,代理类和被代理类实现同一个接口Ibinder接口。


下面是实现Activity访问Service例子的步骤:


一.创建.aidl文件


AIDL使用简单的语法来声明接口,描述其方法以及方法的参数和返回值。这些参数和返回值可以是任何类型,甚至是其他AIDL生成的接口。重要的是必须导入导入除了内建类型(例如:int,boolean等)外的任何其他类型,哪怕是这些类型是在与接口相同的包中。具体的要求如下:


使用Eclipse的ADT插件创建一个BookInfo.aidl文件,该文件有4个方法:


setName(String name)设置图书的书名,setPrice(int price)设置图书的价格,setPublish(String pname)设置图书的出版社和String display()显示图书的信息.


BookInfo.aidl文件


创建好BookInfo.aidl文件,系统会自动在gen目录下生成Java接口文件BookInfo.java



】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android开发教程:Spinner和AutoC.. 下一篇Android开发教程:RadioButton和C..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: