Retrofit response 回调封装

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{
    private static final String TAG = "回调封装";
    private Context mContext;

    public ServerCallback(Context context) {
        this.mContext = context;
    }

    @Override
    public void onResponse(retrofit2.Call call, Response 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 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);

  }

你可能感兴趣的:(Android)