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;
        }

    }

  • 相关阅读:
    代码转换为html显示
    subprocess实时获取结果和捕获错误
    centos7开放端口和防火墙设置
    Inside The C++ Object Model(一)
    知其所以然(以算法学习为例)
    sql语法
    DLL断点调试
    我的算法学习之路
    算法系列之一
    cocos2d-x游戏引擎核心(3.x)----事件分发机制之事件从(android,ios,desktop)系统传到cocos2dx的过程浅析
  • 原文地址:https://www.cnblogs.com/ysxy/p/7987042.html
Copyright © 2011-2022 走看看