Retrofit 的封裝類

import jingou.jo.com.myzklx.net.Api;java

import okhttp3.OkHttpClient;ui

import retrofit2.Retrofit;url

import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory;.net

import retrofit2.converter.gson.GsonConverterFactory;get

 

/**it

 * Created by 楊傑 on 2017/12/30.class

 */import

 

public class RetrofitHelper {service

    private static OkHttpClient okHttpClient;rxjava

    private static ServiceApi serviceApi;

 

    static {

 

        initokhttp();

 

    }

 

 

    public static void initokhttp() {

 

        if (okHttpClient == null) {

 

            synchronized (RetrofitHelper.class) {

 

                if (okHttpClient == null) {

 

                    okHttpClient = new OkHttpClient.Builder()

 

                            .build();

                }

 

            }

 

        }

 

    }

 

    public static ServiceApi getservice() {

 

        if (serviceApi == null) {

 

            synchronized (RetrofitHelper.class) {

 

                if (serviceApi == null) {

 

                    serviceApi = onCreatApi(ServiceApi.class, Api.HOST);

 

 

                }

 

            }

 

        }

 

        return serviceApi;

 

    }

 

    public static <T> T onCreatApi(Class<T> tClass, String url) {

 

        Retrofit retrofit = new Retrofit.Builder()

 

                .baseUrl(url)

 

                .addConverterFactory(GsonConverterFactory.create())

 

                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())

 

                .build();

 

        return retrofit.create(tClass);

 

    }

}

相關文章
相關標籤/搜索