Android Service 的使用(四)----进程间的Service的调用
来源:互联网 发布:北大青鸟11s编程软件 编辑:程序博客网 时间:2024/06/17 21:54
上一篇文章我们介绍过AIDL作为接口可以实现远程调用,但是实际上我们还是实现一个绑定的Service的使用,没有具体实现进程间的通讯。所以这一篇文章是对上一篇文章的补充完善,可以具体实现进程间的数据通讯。
1. 首先完成服务端的程序
a. 在服务端建立AIDL文件。
建立的方式和之前是一样的,这里就不在赘述了,直接给出客户端AIDL的代码。
package com.android.zinc.remoteservice;
interface IRemoteService {
int setValue(int para);
int getValue();
float calculateResult(int formulaA, int formulaB, int formulaC);
}
如果定义的没有问题,和之前一样,这时会在gen下面产生一个IRemoteService.java,如果要实现2个进程间的相互通讯,这个文件很重要,一会再说。
b. 具体实现服务端实现AIDL接口功能
这里就不重复复制了,这个可以参考上一篇文章的代码
c. 将接口暴露给客户端
这里也可以参考之前一篇文章的代码。
以上a,b,c三个步骤都是在服务端需要做的事情,如下图:
其实服务端就是一个进程,不过不要忘记在服务端的AndroidManifest.xml文件中定义Service的action,否则客户端是没法调用到Service的。
2. 建立客户端的程序
a. 同样建立AIDL接口
不过这个AIDL仅仅是个复制的过程,记得之前定义的AIDL文件在gen下面产生一个*.java的文件吗?蓝色字体的那行。复制客户端gen下面的这个java文件,copy到客户端的包下。如下图:
图中蓝色的IRemoteService.java就是从服务端copy过来的,但是事情还没有做完,下面一点很重要,否则编译会报错。
b. 修改包名和和包名相关的方法
用meld工具打开2个java文件,对比一下你就会发现只有包名和包名相关的方法不一样,其他的2个文件完全相同。
左边的文件是服务端的文件,右边的是客户端的,其实就是包名相关的部分,各自用各自的,其他完全一样。
这样服务端的进程是RemoteService,客户端的进程是LocalClient,这样就实现进程间的通讯了。我这里还是判断一个2次函数有没有实根的情况,读者如果感兴趣可以自己动手试试,把要做的事情放在服务端,客户端得到服务端返回的数据。
我也是在学习的阶段,如果读者遇到问题,可以给我留言,大家一起共同研究讨论,共同进步^_^,这里很感谢给予我极大帮助的陈老师,^_^这个徒弟虽然是笨了点,不过好在有颗持之以恒永不放弃的XIN!
- Android Service 的使用(四)----进程间的Service的调用
- Android Service 的使用(三)----远程Service的调用
- android callRemoteService 调用其他进程的service
- Android Service的使用
- Android Service 的使用
- Android service的使用
- Android Service的使用
- Android Service 的使用
- Android Service 的使用
- Android -- Service的使用
- Android Service的使用
- Android service的使用
- Android Service的使用
- Android的Service使用
- Android Service的使用
- android service的调用、进程内与进程间的通信
- Android Service 的使用(二)----Service的绑定使用
- Android Bound Service(一) ----- Extending Binder Service(进程内绑定Service的简单例子)
- UITableView 基本使用方法总结
- 编程规范之--变量
- 大型高性能ASP.NET系统架构设计
- 开发人员首选跨平台工具之最新调查
- Review之s10 sparc patches are installed on goldpoint (From mentor)
- Android Service 的使用(四)----进程间的Service的调用
- C#经典知识
- C#实现IOCP(完成端口)的详细代码如下:
- 3月21日
- 使用xcode4做ios的国际化
- Eratosthenes 找素数
- java.io.Serializable序列化接口类及编码表
- mmap设备操作
- 屈臣氏成功之道:收银台的惊人细节管理