Retrofit response 回调封装:
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.TextUtils;
import com.hyphenate.chat.ChatClient;
import com.hyphenate.helpdesk.callback.Callback;
import com.xxx.ua.R;
import com.xxx.ua.activity.MainActivity;
import com.xxx.ua.base.MyApplication;
import com.xxx.ua.beans.ServerError;
import com.xxx.ua.config.Constants;
import com.xxx.ua.utils.ErrorUtils;
import com.xxx.ua.utils.LogUtils;
import com.xxx.ua.utils.SharedPreferencesUtils;
import com.xxx.ua.utils.Tools;
import java.io.IOException;
import java.math.BigDecimal;
import okhttp3.ResponseBody;
import retrofit2.Response;
/**
* Created by chitty on 2017/11/8.
* retrofit response 回调封装
*/
public abstract class ServerCallback implements retrofit2.Callback<ResponseBody>{
private static final String TAG = "回调封装";
private Context mContext;
public ServerCallback(Context context) {
this.mContext = context;
}
@Override
public void onResponse(retrofit2.Call<ResponseBody> call, Response<ResponseBody> response) {
if (response.isSuccessful() && response != null){
try {
String result = response.body().string();
// TODO something the same ...
// ...
onSuccess(result);
} catch (IOException e) {
e.printStackTrace();
}
}else {
// TODO something the same ...
// ...
onError(error.getCode());
}
}
@Override
public void onFailure(retrofit2.Call<ResponseBody> call, Throwable t) {
// TODO something the same ...
// ...
onFail(t.getMessage());
}
public abstract void onSuccess(String result);
public abstract void onError(String message);
public abstract void onFail(String message);
}