BaseView
public interface BaseView {
void success(int type ,String data);//成功
void fail(String error);//失败
}
Modle
public interface Modle {
public interface MyCallBack{
void success(int type,String data);
void fail(String error);
}
void showGet(int type,String url,MyCallBack callBack);
void showPost(int type, String url, FormBody.Builder builder,MyCallBack callBack);
}
BaseModle
public class BaseModle implements Modle {
@Override
public void showGet(final int type, String url, final MyCallBack callBack) {
new OkHttpUtils().get(url).request(new OkHttpUtils.HttpListener() {
@Override
public void success(String data) {
callBack.success(type,data);
}
@Override
public void fail(String error) {
callBack.fail(error);
}
});
}
@Override
public void showPost(final int type, String url, FormBody.Builder builder, final MyCallBack callBack) {
OkHttpUtils httpUtils=new OkHttpUtils();
if (builder==null){
httpUtils.get(url);
}else {
httpUtils.post(url,builder);
}
httpUtils.request(new OkHttpUtils.HttpListener() {
@Override
public void success(String data) {
callBack.success(type,data);
}
@Override
public void fail(String error) {
callBack.fail(error);
}
});
}
}
Presenter
public interface Presenter {
void doGet(int type,String url);
void doPost(int type, String url, FormBody.Builder builder);
}
BasePresenter
public class BasePresenter implements Presenter, Modle.MyCallBack {
private Modle modle;
private BaseView baseView;
public BasePresenter(Modle modle, BaseView baseView){
this.modle = modle;
this.baseView = baseView;
}
@Override
public void doGet(int type, String url) {
modle.showGet(type,url,this);
}
@Override
public void doPost(int type, String url, FormBody.Builder builder) {
modle.showPost(type,url,builder,this);
}
@Override
public void success(int type, String data) {
baseView.success(type,data);
}
@Override
public void fail(String error) {
baseView.fail(error);
}
//销毁
public void destory(){
if (modle != null){
modle = null;
}
if (baseView != null){
baseView = null;
}
System.gc();
}
}