封装OKHttp,工具类
来源:互联网 发布:linux 访问smb 编辑:程序博客网 时间:2024/05/18 15:23
public class OkHttp3Util { private static OkHttpClient okHttpClient = null; private OkHttp3Util() { } public static OkHttpClient getInstance() { if (okHttpClient == null) { //加同步安全 synchronized (OkHttp3Util.class) { if (okHttpClient == null) { //okhttp可以缓存数据....指定缓存路径 File file = new File(Environment.getExternalStorageDirectory(), "cache"); //指定缓存大小 int cacheSize = 10 * 1024 * 1024; okHttpClient = new OkHttpClient.Builder()//构建器 .connectTimeout(15, TimeUnit.SECONDS)//连接超时 .writeTimeout(20, TimeUnit.SECONDS)//写入超时 .readTimeout(20, TimeUnit.SECONDS)//读取超时 // .cache(new Cache(file.getAbsoluteFile(),cacheSize))//设置缓存 .build(); } } } return okHttpClient; } /** * get请求 * 参数1 url * 参数2 回调Callback */ public static void doGet(String url, Callback callback) { //创建OkHttpClient请求对象 OkHttpClient okHttpClient = getInstance(); //创建Request Request request = new Request.Builder().url(url).build(); //得到Call对象 Call call = okHttpClient.newCall(request); //执行异步请求 call.enqueue(callback); } /** * post请求 * 参数1 url * 参数2 Map<String, String> params post请求的时候给服务器传的数据 * add..("","") * add() */ public static void doPost(String url, Map<String, String> params, Callback callback) { //创建OkHttpClient请求对象 OkHttpClient okHttpClient = getInstance(); //3.x版本post请求换成FormBody 封装键值对参数 FormBody.Builder builder = new FormBody.Builder(); //遍历集合 for (String key : params.keySet()) { builder.add(key, params.get(key)); } //创建Request Request request = new Request.Builder().url(url).post(builder.build()).build(); Call call = okHttpClient.newCall(request); call.enqueue(callback); }}
阅读全文
0 0
- Okhttp工具类封装
- Okhttp封装工具类
- 封装OkHttp工具类
- okhttp封装工具类
- 封装OKHttp,工具类
- OKhttp二次封装工具类
- OkHttp网络连接封装工具类
- 非常简单的OKhttp封装工具类
- okhttp传输封装的工具类
- OkHttp网络连接封装工具类
- Android Okhttp工具类的封装
- OkHttp使用及工具类封装
- OkHttp工具类简单封装运用
- OkHttp网络连接封装工具类以及json转换类
- OKhttp的封装工具类(可以直接使用)
- 以OKHttp为基础封装网络请求工具类
- 超简单的okhttp封装工具类(上)
- 自己简单的封装一个OKHttp工具类
- 正则表达式之判断是否是手机号
- Java参数传递类型有几种
- Linux 网络编程
- 滑动条缩放图片
- Java Web中的Action、Dao、Service、Model
- 封装OKHttp,工具类
- SRS 代码分析【DVR录像实现】
- 为什么要用枚举实现Singleton--java
- linux_安装CDN
- 浅谈C/C++排序函数中cmp()比较函数的写法
- from表单+地区
- eclipse打点没提示原因
- 菜鸟备忘录[CSS3]——媒体查询使用方法@media
- CodeForces 830C Bamboo Partition