浅谈Mvp

简单谈谈mvp
M - Model  
V -View 
P -presenter
这就是mvp模式
以前都是用MVC(模型视图控制器)
一开始的时候相信很多人都有点不太理解mvp
在MVC中
    model相当于bean(服务器返回的数据)
    View相当于xml视图
    controller 相当于(activity)
在activity之中处理请求服务器返回结果进行数据填充
这样会导致Activity过去庞大导致后期维护极为不方便解耦特别困难

MVP与mvc最大的区别就是复用性跟解耦
MVP:
    Model:
        是负责向服务器发送请求
        而不是再只是单纯的一个bean实体类而已
       //params代表参数
      //listener代表成功或者失败后回调给调用这个Model的Presenter
    @Override
    public void LoginModel(String params, final ResponseListener<UserBean> listener) {
      //发送请求
        String Url = HttpUrl+params;
        //最基本发送请求事例 listener中是给外面处理成功失败后应该做什么事情
        http.executeGetRequest(Url, head, listener)
    View:
        在外部定义接口然后让Activity实现这个接口
        去处理请求成功和失败对页面数据进行修改
       public interface ILoginView {
           //成功返回的实体类对象
           void onSuccess(UserBean bean);
           //失败返回提示
           void onFail(String error);
    Presenter:
        MOdel和View的中间者
        构建Model与View之中的桥梁
        在Presenter拥有两个对象
            1.model的实现类
            2.实现View接口的类(一般是Activity)
public  LoginPresenter(IAddPraiseView view) {
       mIAddPraiseView = view;
       mAddPraiseModel = new loginModel();
   }
    public void login(String params) {
       mLoginModel.loginModel(params, new LoginListener() {

           @Override
           public void onSuccess(LoginBean loginBean) {
               if (!Utils.isNull(loginBean) {
                   return;
               }
 
               if (loginBean.code.equals("succeed")) {
                   // 根据不同结果对view进行通知
                   mILoginView.loginSuccess(user);
               } else{
                       mILoginView.loginFailure(loginBean.tmessage);
               }

           }
           @Override
           public void onFailure(String result) {
               // 根据不同结果对view进行通知
               mILoginView.loginFailure("网络不给力,请重试!", false);
           }

           @Override
           public void parseError() {
               mILoginView.showParseError();
           }

       });
   }
    因为activity中实现了View接口所以在activity中实现请求成功后改变数据源做ui界面改变
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 活在当下,别在怀念过去或憧憬未来中浪费掉今天的生活。因为明天越来越少,昨天越来越多! MVP 所谓MVP(Mode...
    往事一块六毛八阅读 1,644评论 0 0
  • 一直听人说:一生有追求,不甘于平庸地自我重复,勇敢不畏惧,特立独行不流俗,内心高贵纯净,远离阴暗龌龊。 但一直未曾...
    阿雅克肖Aay阅读 3,414评论 0 2
  • 我是一只鱼 作者:屿上日光 你是水 向往着大海 向往着天空 流向了海洋 成了苦涩的水 飞向了天空 成了朵朵白云 我...
    屿上日光阅读 2,744评论 0 0
  • 1.焯水——猪蹄洗净开水下锅,加姜片蒜片,煮个两三分钟即可,然后用温水把猪蹄冲一遍去除杂质,猪蹄沥干水备用。 2....
    大艾阅读 1,196评论 0 0
  • 黄叶自游荡, 秋雨亦凄凉。 余生路径长, 人海却茫茫。 分别应不舍, 岂料岁月长。 归期复归期, 来日不可期。 相...
    WIN赢仔阅读 1,313评论 1 0