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