package com.bawei.yuezkao1.model.http;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import com.bawei.yuezkao1.model.api.ApiService;
import com.bawei.yuezkao1.model.constant.Constant;
import java.util.concurrent.TimeUnit;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;
/**
* 项目名称:
*
* @Author
* 创建时间:
*/
public class OkHttpUtils {
private static OkHttpUtils okHttpUtils;
private static OkHttpClient client;
private Retrofit retrofit;
private ApiService apiService;
public OkHttpUtils(){
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
//构建OKHttpClient
client = new OkHttpClient.Builder()
.connectTimeout(5, TimeUnit.SECONDS)
.writeTimeout(5,TimeUnit.SECONDS)
.readTimeout(5,TimeUnit.SECONDS)
//日志拦截器
.addInterceptor(interceptor)
.build();
retrofit = new Retrofit.Builder()
.baseUrl(Constant.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.client(client)
.build();
}
public ApiService getApiService() {
if (apiService == null) {
apiService = retrofit.create(ApiService.class);
}
return apiService;
}
public static OkHttpUtils getOkHttpUtils() {
if (okHttpUtils == null) {
synchronized (OkHttpUtils.class){
if (okHttpUtils == null) {
okHttpUtils = new OkHttpUtils();
}
}
}
return okHttpUtils;
}
public static boolean hasNetwork(Context context){
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
return true;
}
return false;
}
}
09-01
3158

04-29
01-04