首页 > 其他 > 详细

观察者模式的架构

时间:2018-08-23 18:30:44      阅读:165      评论:0      收藏:0      [点我收藏+]

Bean  Manager  View 

manager负责网络请求,继承 java.util.Observable 

主要内容:

public class RequestManger extends Observable {
    private static ConsultListManger mManager;


    private String TAG = this.getClass().getSimpleName();

    private ConsultListManger() {
    }

    public synchronized static ConsultListManger getInstance() {
        if (mManager == null) {
            mManager = new RequestManger ();
        }
        return mManager;
    }

   //网络请求的方法 public void request() {
    //在网络请求出现结果后调用    
    setChanged();
    notifyObservers(informationListBean);

    如:
    request.setHttpListener(new HttpListener<String>() {
                @Override
                public void onSuccess(String s, Response<String> response) {
                    super.onSuccess(s, response);
                        setChanged();
                        notifyObservers(informationListBean);
                    } 
                }

                @Override
                public void onFailure(HttpException e, Response<String> response) {
                    super.onFailure(e, response);
                    setChanged();
                    notifyObservers("网络请求失败!");
                }
            });

  

  } }

  

View是activity或者fragment,需要实现 java.util.Observer,实现Observer的update()方法。

主要内容:

public class Fragment extends Fragment implements Observer{

    
    ........
@Override public void update(Observable o, Object arg) {   if (o instanceof RequestManager) {      if (arg instanceof Bean) {      setData(((Bean) arg));    }     }    }

    private void setData(Bean bean){
      //设置UI
    }
}                

  

 

观察者模式的架构

原文:https://www.cnblogs.com/IT-lss/p/9525389.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!