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

    }

  • 相关阅读:
    JPA、Hibernate、Spring data jpa之间的关系
    MySQL8.0的安装、配置、启动服务和登录及配置环境变量
    jdbc和odbc
    Win10下 Java环境变量配置
    SpringMVC框架理解
    看看资深程序员是如何教你破解图形验证码!这不很简单嘛!
    破解极验(geetest)滑动验证码
    java做图片点击文字验证码
    java实现点击图片文字验证码
    什么是HttpOnly
  • 原文地址:https://www.cnblogs.com/ysxy/p/7987042.html
Copyright © 2011-2022 走看看