1.一步步的建立Remote Service
0)创建一个helloworld项目。
1)新建文件 IRemoteService.aidl
为什么要建aidl文件,因为在这里我们使用的是Remote Service,从字面Remote就知道Service和Client是分开的(这里我们为了演示方便,把Service和Client的实现都放在一起,但是要时刻想到它们是不在一起的)。
定义Service的是RemoteService.java,那我们怎么在Client客户端引用(import)和调用RemoteService.java里面的内容呢?
aidl是Android interface description language 的缩写,android接口描述语言,类似于C语言里面的头文件,在这个文件里面只描述了接口,方法的参数、返回值等,我们将aidl文件引入我们的客户端实现后,我们就可以操作RemoteService.java的函数了
a)
b)
c)定义一个空的RemoteService接口,后面我们在RemoteService.java里面实现的函数都需要在这里注册。
只有先定义了IRemoteService.aidl,我们在编写RemoteService.java这个service的时候才会有IRemoteService.Stub.
2)编写RemoteService.java
package com.example.siqi;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.os.Process;
import android.util.Log;
public class RemoteService extends Service {
/**
* TAG,用于输出Log,在这里,我们把pid,即进程的ID也记录上
* 这样就可以比较Service的进程和Client的进程是否在同一进程
*/
private static final String TAG = "RemoteService, PID=" + Process.myPid();
/**
* 定义RemoteSe