zoukankan      html  css  js  c++  java
  • Retrofit的封装类


    public class RetrofitHelper {

        private static OkHttpClient okHttpClient;

        private static ShopApi shopApi;

        static {
            initOkHttpClient();
        }

        /**
         * 初始化 OkHttpClient
         */
        private static void initOkHttpClient() {

            if (okHttpClient == null) {
                synchronized (RetrofitHelper.class) {
                    if (okHttpClient == null) {
                        okHttpClient = new OkHttpClient.Builder()
                                .build();
                    }
                }
            }

        }

        /**
         * 定义一个泛型方法
         *
         * @param clazz
         * @param url
         * @param <T>
         * @return
         */
        public static <T> T createAPI(Class<T> clazz, String url) {
            Retrofit retrofit = new Retrofit.Builder()
                    .baseUrl(url)
                    .client(okHttpClient)
                    .addConverterFactory(GsonConverterFactory.create())
                    .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                    .build();
            return retrofit.create(clazz);
        }

        public static ShopApi getShopAPI() {
            if (shopApi == null) {
                synchronized (RetrofitHelper.class) {
                    if (shopApi == null) {
                        shopApi = createAPI(ShopApi.class, Constants.BASE_URL);
                    }
                }
            }
            return shopApi;
        }

    }

  • 相关阅读:
    Java 基础巩固:装箱拆箱 你真的熟悉吗
    Java数据类型的转换:隐式(自动)转换与强制转换
    oozie学习笔记
    flume学习笔记
    sqoop学习笔记
    Oracle故障排查之oracle解决锁表问题
    zookerper安装部署
    hadoop HA架构安装部署(QJM HA)
    hadoop第一部分-安装、测试
    hadoop完全分布式安装部署-笔记
  • 原文地址:https://www.cnblogs.com/ysxy/p/7987042.html
Copyright © 2011-2022 走看看