okhttp3.0的工具类

原创 2016年08月30日 15:56:29

异步post请求 

 1.1//异步请求post    提交 键值对数据(key_value数据)

public void postAyncHttp(String url,Map<String,String> data) {

      /*  RequestBody formBody = new FormBody.Builder()
                .add("userName", "10")
                .add("loginPwd","2323")

                .build();*/


        FormBody.Builder builder = new FormBody.Builder();
          for (Map.Entry<String,String> item :data.entrySet()){
              builder.add(item.getKey(),item.getValue());
          }
        FormBody formBody = builder.build();
        Request request = new Request.Builder()
                .url(url)
                .post(formBody)
                .build();
        Call call = client.newCall(request);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                Log.i("msg",e.getMessage());
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String str = response.body().string();
                Log.i("wangshu", str);

                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        Toast.makeText(MyApp.getContext(), "请求成功", Toast.LENGTH_SHORT).show();
                    }
                });
            }

        });

    }

1.2异步post请求 提交 json数据

  public static final MediaType JSON
            = MediaType.parse("application/json; charset=utf-8");

    private OkHttpClient client = new OkHttpClient.Builder()
            .connectTimeout(5, TimeUnit.SECONDS)
            .readTimeout(5, TimeUnit.SECONDS)
            .build();


    public String post(String url, String json) throws IOException {
        RequestBody body = RequestBody.create(JSON, json);
        Request request = new Request.Builder()
                .url(url)
                .post(body)
                .build();
       client.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {

            }
        });

同步post请求

2..1//同步post请求  (参数)提交json数据(因为是同步请求时放在子线程里)

  public static final MediaType JSON
            = MediaType.parse("application/json; charset=utf-8");

    private OkHttpClient client = new OkHttpClient.Builder()
//            .sslSocketFactory(createSSLSocketFactory())
//            .hostnameVerifier(new TrustAllHostnameVerifier())
            .connectTimeout(5, TimeUnit.SECONDS)
            .readTimeout(5, TimeUnit.SECONDS)
            .build();


    public String post(String url, String json) throws IOException {
        RequestBody body = RequestBody.create(JSON, json);
        Request request = new Request.Builder()
                .url(url)
                .post(body)
                .build();
        Response response = client.newCall(request).execute();
        if (response.isSuccessful()) {
            return response.body().string();
        } else {
            return "";
        }
    }
例如这样调用上面的2.1方法:
JSONObject req = new JSONObject();
req.put("pageIndex", page);
req.put("pageSize", pagesize);
String response = OKhttpHelper.getInstance().post(GET_LIVELIST, req.toString());



网络请求之OKHttp3.0(工具类)

import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkIn...

OkHttp的jar包和工具类

  • 2017年11月18日 09:44
  • 385KB
  • 下载

okhttp关于https封装的几个工具类

  • 2016年12月28日 15:08
  • 1.43MB
  • 下载

以OKHttp为基础封装网络请求工具类

特点: 1)支持SPDY协议,共享一个socket来处理同一个服务器的所有请求。 2)无缝支持GZIP,来减少数据流量。 3)缓存相应数据来减少重复的网络请求。   网络协议: SPDY(...

okHttp工具类

  • 2017年12月05日 09:59
  • 8KB
  • 下载

okhttp工具类

需要关联的包 compile 'com.squareup.okhttp3:okhttp:3.4.2' okhttp工具类: package com.hhzmy.httputil; import a...

Okhttp 工具类

package bwie.mylibrary;import com.google.gson.Gson; import java.io.IOException; import java.util.Map...

okhttp传输封装的工具类

package tools; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import ja...

网络请求工具类之OkHttp3封装(二)下(支持请求取消、异步请求的线程切换)

紧接着上篇说的任务2:异步请求采用UI线程回调方式。 首先采用Handler进行线程间的通信,顺便优化下回调方法,加入HttpInfo以做到工具类使用的渗透性。 在OkHttpUtil中声明一个自定义...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:okhttp3.0的工具类
举报原因:
原因补充:

(最多只允许输入30个字)