目前项目中最多用的模式就是观察者模式了。。。该模式是当有数据状态变化需要及时通知的时候使用的
项目中其中之一的应用场景:
当网络状态发生变化时影视下载界面提示当前是使用免费的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;
}
原文地址:http://www.cnblogs.com/sharons-house/p/3756611.html