首页 > 代码库 > 项目中观察者模式的应用
项目中观察者模式的应用
目前项目中最多用的模式就是观察者模式了。。。该模式是当有数据状态变化需要及时通知的时候使用的
项目中其中之一的应用场景:
当网络状态发生变化时影视下载界面提示当前是使用免费的wifi还是机主自己的流量
1.首先定义被观察者的实体类
public class NetworkTypeNotifier extends Observable {
//发生变化时调用该方法通知
public void notifyAll(NetworkType networkType) {
this.setChanged();
this.notifyObservers(networkType);
}
}
2.可以在项目的Application中实例化该实体类
3.定义观察者
private Observer mTitleNetWorkObserver = new Observer() {
@Override
public void update(Observable observable, Object data) {
//数据变化时需要做的动作
}
};
4.当想观察的数据发生变化时调用notifyAll方法通知数据变化
public void setCurrentNetworkType(NetworkType currentNetworkType) {
if (this.currentNetworkType != currentNetworkType) {
//通知数据变化
this.mNtn.notifyAll(currentNetworkType);
}
this.currentNetworkType = currentNetworkType;
}