zoukankan      html  css  js  c++  java
  • okhttp封装

    对这玩意并不熟,网上有很多大神封装好的,但是懒得看里面的封装逻辑,索性自己简单做个封装,方便使用,出现bug也好查找:

    get请求:

    /**
             * get请求
             * @param url
             * @param callback
             */
            public static void requestByGet(String url,Callback callback){
                String baseUrl = "";
                OkHttpClient mOkHttpClient = new OkHttpClient();
                //创建一个Request
                final Request request = new Request.Builder()
                        .url(baseUrl + url)
                        .build();
                mOkHttpClient.newCall(request).enqueue(callback);
            }

    post请求:

    /**
             * post请求
             * @param url
             * @param map
             * @param callback
             * @throws IOException
             */
            public static void requestByPost(String url ,HashMap<String,Object> map,Callback callback) {
                String baseUrl = "";
                FormEncodingBuilder formEncodingBuilder = new FormEncodingBuilder();
    
                for(String key:map.keySet()){
    
                    formEncodingBuilder.add(key, map.get(key) + "");
                }
                RequestBody body = formEncodingBuilder.build();
    
                OkHttpClient client = new OkHttpClient();
    
                Request request = new Request.Builder()
                        .url(baseUrl+url)
                        .post(body)
                        .build();
                client.newCall(request).enqueue(callback);
            }

    使用方法:

       String url="";
            HashMap<String,Object> map=new HashMap<>();
            map.put("userid",userId);//自己的接口参数
            HttpUtils.requestByPost(url, map, new Callback() {
                @Override
                public void onFailure(Request request, IOException e) {
                }
                @Override
                public void onResponse(Response response) throws IOException {
                    String data = response.body().string();
                    parseData(data);//解析json串,方法根据自己的写,这儿只是演示
                }
            });
  • 相关阅读:
    安卓任意两个或多个Fragment之间的交互与刷新界面
    内存溢出和内存泄漏
    求直方图围成的最大矩形面积
    判断一个字符串是否是由另2个字符串交错组成的
    矩阵的旋转
    求滑动窗口的最大值
    面向过程和面向对象的区别
    关于丑数
    求连续子数组的最大和
    多数投票算法(Majority Vote Algorithm)
  • 原文地址:https://www.cnblogs.com/epmouse/p/5394621.html
Copyright © 2011-2022 走看看