四种分别是callback interface,handler-message,broadcast receiver和observer-subject。
1. callback interface
这种消息传递的方式,需要在接收方调用发送方的方法或者在创建实例时,将回调接口传入,并在接收方实现接口方法。
举例:
定义一个回调接口:
public interface ITest{
void doWhat();
}
接受方:
public class Receiver implements ITest{
private Sender sender = null;
public void createSender(){
sender = new Sender(this);
}
@Override
public void doWhat(){
//TODO
}
}
发送方:
public class Sender{
private ITest iTest = null;
public Sender(ITest iTest){
this.iTest = iTest;
}
public void doSth(){
iTest.doWhat();
}
}
优点:代码量小,很容易理解,处理效率高。
缺点:不利于修改和扩展,接口一变更,发送方和接收方都需要修改参数。并且必须提供一个获取接口的入口。
2. handler-message
这种方式和第一种在构造时有相同之处,就是同样需要从接收方传给发送方。
举例:
接受方:
发送方:
public class Sender{
private Handler handler = null;
public Sender(Han