Android中信息交互大致有两种方式:
来源:互联网 发布:淘宝店海绵纸价格 编辑:程序博客网 时间:2024/06/16 00:14
Android中信息交互大致有两种方式:
1. 使用intent在service和activity之间不停地传递信息
2. 使用bindService实现, 这里有两种实现方式, 在重写service当中的onBind方法是,一种方式是通过实现一个Binder接口, 通过在这个接口中的实现一个getService方法返回service.this实现,另一种方法是使用aidl这种接口来实现.
现在截取部分代码:
第一种实现方式
Service中代码
class MBinder extends Binder {
MyService getService(){
returnMyService.this;
}
}
//切记此处需要进行初始化
private MBinder mBinder = new MBinder();
第二种实现方式
Service中代码:
public int playMusic()throws android.os.RemoteException {
Log.i("CHEN","Play music");
//创建音乐播放器
if(mp == null) {
mp = MediaPlayer.create(MyService.this,R.raw.today);
mp.stop();
try {
mp.prepare();
}catch (IllegalStateException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
mp.start();
isStart = true;
return CREATE;
} else if(!isStart) {
mp.stop();
try {
mp.prepare();
}catch (IllegalStateException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
mp.start();
isStart = true;