码迷,mamicode.com
首页 > 其他好文 > 详细

观察者模式的架构

时间:2018-08-23 19:38:28      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:继承   form   listen   ==   turn   http   except   inf   sim   

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
    }
}                

  

 

观察者模式的架构

标签:继承   form   listen   ==   turn   http   except   inf   sim   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!