后是 Presenter 层,它是处理业务逻辑和业务数据的,所以必须持有 Model 的引用,同时要将处理完的数据交给 View 层用于显示,也必须持有 View 的引用,那么,一开始我们就要把这两层给实例化,具体看下面的代码:

package com.test.mvp.mvpdemo.mvp.v1.presenter;

import com.test.mvp.mvpdemo.mvp.v1.MainContract;
import com.test.mvp.mvpdemo.mvp.v1.model.DataModel;

import java.io.IOException;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;

/**
* presenter 层,承担业务逻辑处理,数据源处理等
*/
public class MainPresenter implements MainContract.IMainPresenter {

private MainContract.IMainModel mModel;
private MainContract.IMainView mView;

public MainPresenter(MainContract.IMainView view) {
this.mView = view;
mModel = new DataModel();
}

@Override
public void handlerData() {
if (mView != null) {
mView.showDialog();
}
/**
* 发起请求,获得回调数据
*/
mModel.requestBaidu(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}

@Override
public void onResponse(Call call, Response response) throws IOException {
String content = response.body().string();
if (mView != null) {
mView.succes(content);
}
}
});
}
}
---------------------

最新文章

  1. BPM SharePoint解决方案分享
  2. css Animation初体验
  3. mysql 获取当前日期及格式化 (转)
  4. linux 安装 ftp
  5. Oracle把两个空格以上的空格,替换为两个空格
  6. 【用户分析-用户场景】这TM才是产品思维!
  7. 编写简单的 NT 式驱动程序的加载与卸载工具
  8. 设计模式之享元模式(Flyweight)摘录
  9. 不要在Android的Application对象中缓存数据!
  10. 浅谈js分页的几种方法
  11. [SqlServer]如何向数据库插入带有单引号(')的字符串
  12. 恶补web之一:html学习(2)
  13. 把我坑惨的一个update语句
  14. log4j 详细使用教程【转载】
  15. JAVA-常用集合类型转换例子(基础必备)
  16. 《转》 java.lang.OutOfMemoryError - 关于java的内存溢出
  17. 在 Python 中使用 in_memory 工作空间
  18. Hadoop介绍-4.Hadoop中NameNode、DataNode、Secondary、NameNode、JobTracker TaskTracker
  19. jQuery选择器详解
  20. delphi clientdataset判断某一行值是否存在

热门文章

  1. windows下重启nginx
  2. qtreewidget 显示保存xml文件
  3. 数据库与前端与Django目录
  4. 1. Docker快速入门(仓库,镜像,容器)
  5. jQuery进阶第二天(2019 10.10)
  6. TCP软件环境测试
  7. 006-(成功环境记录)基于Centos7系统部署cobbler批量安装系统
  8. 009-流程控制 for 语句
  9. 数据仓库Hive(一)——hive简介,产生,安装
  10. redis安装篇