okhttp封装类
来源:互联网 发布:什么手机支持双频网络 编辑:程序博客网 时间:2024/06/05 17:24
package com.lht.vike.a680_v1.Main.LhtUtils;import java.io.File;import java.io.UnsupportedEncodingException;import java.net.URLEncoder;import java.util.Map;import java.util.concurrent.TimeUnit;import okhttp3.Callback;import okhttp3.FormBody;import okhttp3.MediaType;import okhttp3.MultipartBody;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.RequestBody;/** * Created by lht on 2017/2/25. */public class OkhttpTool { private static OkhttpTool okhttpTool; private static OkHttpClient okHttpClient; private static Request request; public OkhttpTool() { okHttpClient = new OkHttpClient().newBuilder() .connectTimeout(30*1000, TimeUnit.SECONDS) .writeTimeout(10*1000, TimeUnit.SECONDS) .readTimeout(10*1000, TimeUnit.SECONDS)// .cookieJar(new CookieJar() {// @Override// public void saveFromResponse(HttpUrl url, List<Cookie> cookies) {// //保存cookie信息,密码,表单等信息// }//// @Override// public List<Cookie> loadForRequest(HttpUrl url) {// //从保存位置读取,注意此处不能为空,否则会导致空指针//// return new ArrayList<Cookie>();// }// }) .build(); } public static OkhttpTool getOkhttpTool() { if (null == okhttpTool) { synchronized (OkhttpTool.class) { if (null == okhttpTool) { okhttpTool = new OkhttpTool(); } } } return okhttpTool; } public void get(String url, Callback callback) { request = new Request.Builder() .url(url) .get() .build(); okHttpClient.newCall(request).enqueue(callback); } public void post(String url, Map<String,Object> map, Callback callback) { FormBody.Builder formBody = new FormBody.Builder(); if (null!=map) { for (Map.Entry<String, Object> entity : map.entrySet()) { try { String o = URLEncoder.encode(String.valueOf(entity.getValue()), "GBK"); formBody.add(entity.getKey(), o); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } } request = new Request.Builder() .url(url) .post(formBody.build()) .build(); okHttpClient.newCall(request).enqueue(callback); } //表单访问 public void httpPost(String url, Map<String,Object> map,Callback callback){ FormBody.Builder formBody = new FormBody.Builder(); if (null!=map) { for (Map.Entry<String, Object> entity : map.entrySet()) { try { String o = URLEncoder.encode(String.valueOf(entity.getValue()), "GBK"); formBody.add(entity.getKey(), o); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } } request = new Request.Builder() .url(url) .post(formBody.build()) .build(); okHttpClient.newCall(request).enqueue(callback); } //单张图片上传 public void upLoadImage(String url, File f, Callback callback) { MultipartBody.Builder builder = new MultipartBody.Builder(); builder.setType(MultipartBody.FORM); builder.addFormDataPart("imgFile", "imgFile.jpg", RequestBody.create(MediaType.parse("image/*"), f)); request = new Request.Builder() .url(url) .post(builder.build()) .build(); okHttpClient.newCall(request).enqueue(callback); }}
阅读全文
0 0
- 【OkHttp】封装帮助类
- OkHttp封装类
- OkHttp封装类
- OKHttp封装类
- OkHttp封装类
- Okhttp工具类封装
- OkHttp封装类
- OkHttp封装类
- okhttp封装类
- Okhttp封装工具类
- OkHttp封装类
- okhttp封装类
- 封装OkHttp工具类
- OKHttp的封装类
- okhttp封装工具类
- OkHttp二次封装类
- 封装OKHttp,工具类
- Okhttp请求封装类
- 聚合支付”为什么很多游戏商家选择他
- KEIL5,STM32工程建立注意事项
- Wake Your Computer Up From Local Network
- Tomcat 部署项目的三种方法
- RESNET学习笔记(二)
- okhttp封装类
- 数据可视化D3-简单说
- 漫谈 Clustering (5): Hierarchical Clustering
- 关于焦点
- bzoj3450 Tyvj1952 Easy
- python学习(一)
- SpringApplication 的运行过程分析: run()
- vue2.0动态改变index中title
- Node.js使用