OxNet OkHttpClient Retrofit

143 阅读1分钟

···

package com.gyc.mytestapplication.rxtest.net;

import java.util.concurrent.TimeUnit;

import okhttp3.OkHttpClient; import retrofit2.Retrofit; import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory; import retrofit2.converter.gson.GsonConverterFactory;

public class OxNet { private static OxNet Instance = new OxNet(); private OxNet() {

}

public static OxNet getInstance() {
    return Instance;
}

private OkHttpClient getOkHttpClient() {
    return new OkHttpClient.Builder()
            .addInterceptor(new LogInterceptor())
            .connectTimeout(20*1000L, TimeUnit.MILLISECONDS)
            .readTimeout(20*1000L, TimeUnit.MILLISECONDS)
            .build();
}

private Retrofit getRetrofit(String baseUrl) {
    return new Retrofit.Builder()
            .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
            .addConverterFactory(GsonConverterFactory.create())
            .baseUrl(baseUrl)
            .client(getOkHttpClient())
            .build();
}

public static <S> S createService(String baseUrl , Class<S> clazz){
    return getInstance().getRetrofit(baseUrl).create(clazz);
}

}

···