mirror of
https://github.com/WuXiaolong/AndroidMVPSample.git
synced 2025-06-07 13:54:04 +08:00
update
This commit is contained in:
parent
ff33498468
commit
d33c9bc192
@ -27,10 +27,11 @@ public class MainPresenter extends BasePresenter<MainView> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(int code, String msg) {
|
public void onFailure(String msg) {
|
||||||
mvpView.getDataFail(msg);
|
mvpView.getDataFail(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFinish() {
|
public void onFinish() {
|
||||||
mvpView.hideLoading();
|
mvpView.hideLoading();
|
||||||
|
@ -14,6 +14,7 @@ public interface MainView {
|
|||||||
|
|
||||||
void getDataFail(String msg);
|
void getDataFail(String msg);
|
||||||
|
|
||||||
|
|
||||||
void showLoading();
|
void showLoading();
|
||||||
|
|
||||||
void hideLoading();
|
void hideLoading();
|
||||||
|
@ -18,7 +18,7 @@ public abstract class ApiCallback<M> extends Subscriber<M> {
|
|||||||
|
|
||||||
public abstract void onSuccess(M model);
|
public abstract void onSuccess(M model);
|
||||||
|
|
||||||
public abstract void onFailure(int code, String msg);
|
public abstract void onFailure(String msg);
|
||||||
|
|
||||||
public abstract void onFinish();
|
public abstract void onFinish();
|
||||||
|
|
||||||
@ -38,9 +38,9 @@ public abstract class ApiCallback<M> extends Subscriber<M> {
|
|||||||
if (code == 502 || code == 404) {
|
if (code == 502 || code == 404) {
|
||||||
msg = "服务器异常,请稍后再试";
|
msg = "服务器异常,请稍后再试";
|
||||||
}
|
}
|
||||||
onFailure(code, msg);
|
onFailure(msg);
|
||||||
} else {
|
} else {
|
||||||
onFailure(0, e.getMessage());
|
onFailure(e.getMessage());
|
||||||
}
|
}
|
||||||
onFinish();
|
onFinish();
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,41 @@
|
|||||||
|
package com.wuxiaolong.androidmvpsample.retrofit;
|
||||||
|
|
||||||
|
import retrofit2.Call;
|
||||||
|
import retrofit2.Callback;
|
||||||
|
import retrofit2.Response;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by WuXiaolong
|
||||||
|
* on 2016/9/22.
|
||||||
|
* github:https://github.com/WuXiaolong/
|
||||||
|
* weibo:http://weibo.com/u/2175011601
|
||||||
|
* 微信公众号:吴小龙同学
|
||||||
|
* 个人博客:http://wuxiaolong.me/
|
||||||
|
*/
|
||||||
|
|
||||||
|
public abstract class RetrofitCallback<M> implements Callback<M> {
|
||||||
|
|
||||||
|
public abstract void onSuccess(M model);
|
||||||
|
|
||||||
|
public abstract void onFailure(int code, String msg);
|
||||||
|
|
||||||
|
public abstract void onThrowable(Throwable t);
|
||||||
|
|
||||||
|
public abstract void onFinish();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call<M> call, Response<M> response) {
|
||||||
|
if (response.isSuccessful()) {
|
||||||
|
onSuccess(response.body());
|
||||||
|
} else {
|
||||||
|
onFailure(response.code(), response.errorBody().toString());
|
||||||
|
}
|
||||||
|
onFinish();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<M> call, Throwable t) {
|
||||||
|
onThrowable(t);
|
||||||
|
onFinish();
|
||||||
|
}
|
||||||
|
}
|
@ -10,13 +10,12 @@ import com.wuxiaolong.androidmvpsample.mvp.main.MainPresenter;
|
|||||||
import com.wuxiaolong.androidmvpsample.mvp.main.MainView;
|
import com.wuxiaolong.androidmvpsample.mvp.main.MainView;
|
||||||
import com.wuxiaolong.androidmvpsample.mvp.other.MvpActivity;
|
import com.wuxiaolong.androidmvpsample.mvp.other.MvpActivity;
|
||||||
import com.wuxiaolong.androidmvpsample.retrofit.ApiCallback;
|
import com.wuxiaolong.androidmvpsample.retrofit.ApiCallback;
|
||||||
|
import com.wuxiaolong.androidmvpsample.retrofit.RetrofitCallback;
|
||||||
|
|
||||||
import butterknife.Bind;
|
import butterknife.Bind;
|
||||||
import butterknife.ButterKnife;
|
import butterknife.ButterKnife;
|
||||||
import butterknife.OnClick;
|
import butterknife.OnClick;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
import retrofit2.Callback;
|
|
||||||
import retrofit2.Response;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 由Activity/Fragment实现View里方法,包含一个Presenter的引用
|
* 由Activity/Fragment实现View里方法,包含一个Presenter的引用
|
||||||
@ -59,6 +58,7 @@ public class MainActivity extends MvpActivity<MainPresenter> implements MainView
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void showLoading() {
|
public void showLoading() {
|
||||||
showProgressDialog();
|
showProgressDialog();
|
||||||
@ -89,16 +89,24 @@ public class MainActivity extends MvpActivity<MainPresenter> implements MainView
|
|||||||
private void loadDataByRetrofit() {
|
private void loadDataByRetrofit() {
|
||||||
showProgressDialog();
|
showProgressDialog();
|
||||||
Call<MainModel> call = apiStores.loadDataByRetrofit("101190201");
|
Call<MainModel> call = apiStores.loadDataByRetrofit("101190201");
|
||||||
call.enqueue(new Callback<MainModel>() {
|
call.enqueue(new RetrofitCallback<MainModel>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(Call<MainModel> call, Response<MainModel> response) {
|
public void onSuccess(MainModel model) {
|
||||||
dataSuccess(response.body());
|
dataSuccess(model);
|
||||||
dismissProgressDialog();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Call<MainModel> call, Throwable t) {
|
public void onFailure(int code, String msg) {
|
||||||
|
toastShow(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onThrowable(Throwable t) {
|
||||||
toastShow(t.getMessage());
|
toastShow(t.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFinish() {
|
||||||
dismissProgressDialog();
|
dismissProgressDialog();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -116,7 +124,7 @@ public class MainActivity extends MvpActivity<MainPresenter> implements MainView
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(int code, String msg) {
|
public void onFailure(String msg) {
|
||||||
toastShow(msg);
|
toastShow(msg);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user