OkHttps优化

//    private static volatile HttpUtils instance;
//    public static Handler handler = new Handler();
//    private static OkHttpClient client;
//
//    private Interceptor getAppInterceptor() {
//        //添加拦截器
//        Interceptor interceptor = new Interceptor() {
//            @Override
//            public Response intercept(Chain chain) throws IOException {
//                Request request = chain.request();
//                Log.e("++++++++++", "拦截前");
//                //---------请求之前------------
//                Response response = chain.proceed(request);
//                Log.e("++++++++++", "拦截后");
//                //---------请求之后------------
//                return response;
//            }
//        };
//        return interceptor;
//    }
//
//    private HttpUtils() {
//        File file = new File(Environment.getExternalStorageDirectory(), "cache11");
//        client = new OkHttpClient().newBuilder()
//                .readTimeout(3000, TimeUnit.SECONDS)   //设置读取超时时间
//                .connectTimeout(3000, TimeUnit.SECONDS) //设置连接的超时时间
//                .addInterceptor(getAppInterceptor())//Application拦截器
//                .cache(new Cache(file, 10 * 1024))
//                .build();
//    }
//
//    //单例okhttp
//    public static HttpUtils getInstance() {
//        if (instance == null) {
//            synchronized (HttpUtils.class) {
//                if (null == instance) {
//                    instance = new HttpUtils();
//                }
//            }
//        }
//        return instance;
//    }
//    //Get请求方法
//    public static void doGet(String url, final Class clazz, final NetCallBack netCallBack) {
//        // 2. 创建一个请求对象
//        Request request = new Request.Builder()
//                .get()
//                .url(url)
//                .build();
//        // 3. 创建出一个Call对象
//        Call call = client.newCall(request);
//        call.enqueue(new Callback() {
//            @Override
//            public void onFailure(Call call, final IOException e) {
//                handler.post(new Runnable() {
//                    @Override
//                    public void run() {
//                        netCallBack.onFailure(e);
//                    }
//                });
//            }
//
//            @Override
//            public void onResponse(Call call, Response response) throws IOException {
//                // 注意:response.body()只能用一次
////                Log.i(TAG, "onResponse: "+response.body().string());
//                String string = response.body().string();
//                Gson gson = new Gson();
//                final Object obj = gson.fromJson(string, clazz);
//                handler.post(new Runnable() {
//                    @Override
//                    public void run() {
//                        netCallBack.onSuccess(obj);
//                    }
//                });
//            }
//        });
//    }
//
//    //Post请求方法
//    public static void doPost(String url, final Class clazz, Map<String, String> parms, final NetCallBack netCallBack) {
//        //不是FormBody,而是一个Builder
//        FormBody.Builder body = new FormBody.Builder();
//        for (String key : parms.keySet()) {
//            body.add(key, parms.get(key));
//        }
//        Request request = new Request.Builder().url(url).post(body.build()).build();
//        Call call = client.newCall(request);
//        call.enqueue(new Callback() {
//            @Override
//            public void onFailure(Call call, final IOException e) {
//                handler.post(new Runnable() {
//                    @Override
//                    public void run() {
//                        netCallBack.onFailure(e);
//                    }
//                });
//            }
//
//            @Override
//            public void onResponse(Call call, Response response) throws IOException {
//                // 注意:response.body()只能用一次
////                Log.i(TAG, "onResponse: "+response.body().string());
//                String result = response.body().string();
//                Gson gson = new Gson();
//                final Object oj = gson.fromJson(result, clazz);
//                handler.post(new Runnable() {
//                    @Override
//                    public void run() {
//                        netCallBack.onSuccess(oj);
//                    }
//                });
//            }
//        });
//    }
//
//    public interface NetCallBack {
//        void onSuccess(Object oj);
//
//        void onFailure(Exception e);
//    }

猜你喜欢

转载自blog.csdn.net/weixin_44160470/article/details/86292568