1、创建观察者:
—————————————————–
public class SimpleObserver implements Observer{
public SimpleObserver(SimpleObservable observable){
observable.addObserver(this);
}
@Override
public void update(Observable observable, Object data) {
if (observable instanceof SimpleObservable) {
SimpleObservable so = (SimpleObservable) observable;
System.out.println("data has changed:" + so.getData());
}
}
}
2、创建被观察者:
public class SimpleObservable extends Observable {
private int data = 0;
public int getData(){
return data;
}
public void setData(int data){
if (this.data != data) {
this.data = data;
setChanged();
notifyObservers();
}
}
}
3、测试:
public class SimpleTest extends AndroidTestCase{
public void testObserver(){
SimpleObservable observable = new SimpleObservable();
SimpleObserver observer = new SimpleObserver(observable);
observable.setData(1);
observable.setData(1);
observable.setData(2);
observable.setData(3);
observable.setData(4);
observable.setData(4);
observer.update(observable, null);
}
}