retrofit2+rxjava
将retrofit2和rxjava的配置配置到application
package cn.yuebai.yuebaidealer.config;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.os.Build;
import android.support.multidex.MultiDex;
import android.util.DisplayMetrics;
import android.view.WindowManager;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.squareup.leakcanary.LeakCanary;
import com.squareup.leakcanary.RefWatcher;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.concurrent.TimeUnit;
import cn.yuebai.yuebaidealer.BuildConfig;
import cn.yuebai.yuebaidealer.util.log.LoggingInterceptor;
import okhttp3.Cache;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;
/**
* 基本配置
*
* @author ZhaoYazhi
* @time 16/4/12
*/
public class MyApplication extends Application {
private final String TAG = "MyApplication";
private static Context mContext;
private OkHttpClient mHttpClient;
private Gson mGson;
private Retrofit mRetrofit;
//LeakCanary展现Android中的内存泄露 https://github.com/SOFTPOWER1991/leakcanarySample_androidStudio
private RefWatcher refWatcher;
// APIS
private final HashMap<Class, Object> apis = new HashMap<>();
private List<Activity> activityList = new ArrayList<Activity>();
// 单例模式
private static MyApplication instance;
/**
* 单例模式中获取唯一的MyApp实例
*
* @return
*/
public static MyApplication getInstance() {
if (null == instance) {
instance = new MyApplication();
}
return instance;
}
@Override
public void onCreate() {
super.onCreate();
mContext = getApplicationContext();
//设置该CrashHandler为程序的默认处理器
UnCeHandler catchExcep = new UnCeHandler(this);
Thread.setDefaultUncaughtExceptionHandler(catchExcep);
refWatcher = LeakCanary.install(this);//LeakCanary展现Android中的内存泄露
this.init();
}
private void init() {
initGson();
initHttpClient();
initRetrofit();
}
public static MyApplication from(Context context) {
Context application = context.get