Android四大组件之服务<二>

一、服务的应用场景

常见的应用场景:天气预报软件,股票软件,音乐播放器等.

在手机网络信号不好的时候,用户提交数据时,应该县把数据保存到sqlite数据库中,在服务中写一个方法,用来监测网络信号,如果网络信号比较好,就从数据库中查询出记录,然后自动提交给服务器端.

二、远程服务aidl的写法(重点)

调用远程服务中的业务方法.

远程服务:在同一个设备上安装了另外一个软件,这个软件有一个服务.
本地应用:自己当前的工程;

aidl: android interface defination language 安卓的接口定义语言;
aidl文件是一个对外开放共享的文件,可以拷贝到其他工程中使用.
IPC:inter process communication进程间的通讯;

步骤:
1.把远程服务中的IService.java文件改成IService.aidl;
2.把远程服务中的IService.aidl文件中的public关键字删除;
3.让远程服务中的中间人的类继承Stub(原来继承的Binder,实现的IService接口都删除掉了);
4.把远程服务中的IService.aidl连同包一起拷贝到本地应用程序中;
5.在本地应用中,绑定服务成功时得到服务返回的中间人对象:

    IService myBinder = Stub.asInterface(service);

6.在本地应用中调用远程服务方法的地方调用中间热的方法;

你可能感兴趣的:(Android四大组件之服务<二>)