简单网络请求MVP

M层接口

public interface IModel {
        void doGet(int page,Okutils.OkHttpCallBack httpCallBack);
}

M层实现类

public class Model implements IModel{

    @Override
    public void doGet(int page, Okutils.OkHttpCallBack httpCallBack) {
        Okutils.getInstance().doGet("http://www.xieast.com/api/news/news.php?type=top&page="+page,httpCallBack);
    }
}

P层接口

public interface IPresenter {
    void getData(int page);
}

P层实现类

public class Presenter implements IPresenter{
    private Model mModel;
    private IView mIView;

    public Presenter(IView IView) {
        mModel=new Model();
        mIView = IView;
    }



    public void getData(int page){
        mModel.doGet(page, new Okutils.OkHttpCallBack() {
            @Override
            public void success(String s) {
                User user = new Gson().fromJson(s, User.class);
                List<User.DataBean> data = user.getData();
                mIView.onsuccess(data);
            }

            @Override
            public void failed(Exception e) {
                mIView.onfaile(e);
            }
        });
   }
   public void des(){
       if (mModel!=null){
           mModel=null;
       }
       if (mIView!=null){
           mIView=null;
       }
   }
}

V层接口

public interface IView {
    void onsuccess(List<User.DataBean> list);

    void onfaile(Exception e);
}

在main里使用

public class MainActivity extends AppCompatActivity implements IView {
      private Presenter mPresenter= new Presenter(this);
      private int page=1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mPresenter.getData(page);

    }

    @Override
    public void onsuccess(List<User.DataBean> list) {
		//这里面写Adapter
    }

    @Override
    public void onfaile(Exception e) {

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值