1、首先定义一个接口
public interface IStundent { public String queryStudent(int no); }
2、然后编写服务 主要是返回的IBinder 对象实现 了接口的方法
public class StudentService extends Service{ private String[] names = { "张飞","李小龙" ,"赵薇" }; private IBinder binder = new StundentBinder(); //查询学生名字的API public String query( int no){ if(no>0&& no<4){ return names[no - 1]; } return null; } @Override public IBinder onBind(Intent intent) { return binder; } private class StundentBinder extends Binder implements IStundent{ public String queryStudent( int no) { return query(no); } } }
3. 就是启动服务和 调用返回的方法
private class StudentServiceConnection implements ServiceConnection{ public void onServiceConnected(ComponentName name, IBinder service) { iStundent = (IStundent)service; } public void onServiceDisconnected(ComponentName name) { iStundent= null ; } } Intent service = new Intent(this,StudentService. class); bindService(service, new StudentServiceConnection(), BIND_AUTO_CREATE);
调用方法 绑定服务时候初始化了 接口 其实调用的是子类的方法
String name =
iStundent
.queryStudent(1);