Volley的Contract+Model+Presenter

//Contract
public interface Contract {

//Iview
interface Iview{
void getRequest(String data);
}

//Imodel
interface Imodel{
void getShow(Context context,String url,CallBack scallBack);
interface CallBack{
void onSuccess(String list);
void onFail();
}
}
//Ipresenter
interface Ipresenter{
void attch(MainActivity Iview);
void detch();
void show(Context context,String url);
}

}

//Model+网络判断
public class Model implements Contract.Imodel {

private boolean net;
private Handler handler=new Handler();
@Override
public void getShow(final Context context, String url, final CallBack scallBack){
    net = HttpVolley.getInstance().isNet(context);
    if (net){
        HttpVolley.getInstance().HttpVolleyGet(url, new HttpVolley.VolleyCallBack() {
            @Override
            public void onSuccess(String data) {
                scallBack.onSuccess(data);
            }

            @Override
            public void onFail(VolleyError error) {
                scallBack.onFail();
            }
        });
    }else{
        //子线程
        new Thread(new Runnable() {
            @Override
            public void run() {
                //handler切换主线程
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        Toast.makeText(context,"网络链接失败", Toast.LENGTH_LONG).show();
                    }
                });
            }
        }).start();
    }
}

}

//Presenter
public class Presenter implements Contract.Ipresenter {

private Model model;
private MainActivity iview;

@Override
public void attch(MainActivity Iview) {
    model = new Model();
    this.iview=Iview;
}

@Override
public void detch() {
   if(model!=null){
       model=null;
   }
   if (iview!=null){
       iview=null;
   }
}

@Override
public void show(Context context,String url) {
    model.getShow(context, url, new Contract.Imodel.CallBack() {
        @Override
        public void onSuccess(String list) {
            iview.getRequest(list);
        }

        @Override
        public void onFail() {
        }
    });
}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值