契约类+MVP

Contract层
public interface CarContract {

//定义一个Presenter的类
public abstract class CarPresenter{
    public abstract void show(String path, HashMap<String,String>map);
}
//定义一个Model层
public interface CarModel{
    void show(String path, HashMap<String,String>map, ResponseCallBack callBack);
}
//定义一个View层
public interface CarView{
    void success(List<CarBean.Data> data);
    void failure(String error);
}

}
Model层
public class CarModel implements CarContract.CarModel {

private Handler handler=new Handler();
@Override
public void show(String path, HashMap<String, String> map, final ResponseCallBack callBack) {
    OkHttpUtils.getInstance().doPost(path, map, new OkHttpCallBack() {
        @Override
        public void success(final String result) {
            handler.post(new Runnable() {
                @Override
                public void run() {
                    callBack.success(result);
                }
            });
        }

        @Override
        public void failure(final String error) {

            handler.post(new Runnable() {
                @Override
                public void run() {
                    callBack.failure(error);
                }
            });
        }
    });
}

}
Prsenter层
public class CarPresenter extends CarContract.CarPresenter {

private Handler handler=new Handler();
private CarModel model;
private CarContract.CarView view;

public CarPresenter(CarContract.CarView view) {
    this.model = new CarModel();
    this.view = view;
}

@Override
public void show(String path, HashMap<String, String> map) {
    if (model!=null){
        model.show(path, map, new ResponseCallBack() {
            @Override
            public void success(final String result) {
                if (view!=null){
                    final CarBean carBean = new Gson().fromJson(result, CarBean.class);
                    handler.post(new Runnable() {
                        @Override
                        public void run() {
                            view.success(carBean.data);
                        }
                    });
                }
            }

            @Override
            public void failure(String error) {
                    if (view!=null){
                        view.failure(error);
                    }
            }
        });
    }
}
//防止内存泄漏
public void setcacle(){
    if (view!=null){
        view=null;
        OkHttpUtils.getInstance().cancle();
    }
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值