没有添加RxJava,只使用Retrofit。其实谈不上封装,只能说是优化下操作(就是懒),方便快速使用。
直接复制
依赖
//只使用Retrofit框架 如下依赖
implementation 'com.squareup.retrofit2:retrofit:2.7.0'
implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0'
//添加Java8支持
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
自定义封装类
public final class ERetrofit {
private Retrofit retrofit;
private static BindInfo bindInfo;
private static volatile ERetrofit instance;
public static ERetrofit getInstance(){
if (instance == null){
synchronized (ERetrofit.class){
if (instance == null){
instance = new ERetrofit();
}
}
}
return instance;
}
public static void bind(BindInfo bindInfo){
ERetrofit.bindInfo = bindInfo;
}
private ERetrofit(){
OkHttpClient client = bindInfo.getClient();
if (client == null){
client = getClient();
}
retrofit = new Retrofit.Builder()
.