OkHttpUtils
演示:
目前支持:
一般的get,post,put,delete,head,patch请求
基于post,put,patch的文件上传
多文件和多参数的表单上传
大文件下载和下载进度回调
大文件上传和上传进度回调
支持session的保持
支持链式调用
支持自签名网站https的访问,提供方法设置下证书就行
支持根据Tag取消请求
支持自定义泛型Callback,自动根据泛型返回对象
拓展功能:
默认使用的是 get 请求,同时下载数量为3个,支持断点下载,断点信息使用ORMLite数据库框架保存,默认下载路径/storage/emulated/0/download
,下载路径和下载数量都可以在代码中配置,下载管理使用了服务提高线程优先级,避免后台下载时被系统回收
默认使用的是 post 请求,对于需要修改为 put 请求的,只需要修改library_okhttpserver
中的UploadTask
第67行代码:
PostRequest postRequest = OkHttpUtils.post(mUploadInfo.getUrl());
PostRequest postRequest = OkHttpUtils.put(mUploadInfo.getUrl());
前言: 项目源码 https://github.com/yulyu2008/XiayuOkHttp Okhttputils是张鸿洋基于okhhttp封装的一个框架,使用起来很方便,相信很多人都用到过,这里我们在这个框架的基础上二次封装,让我们用起来更加方便. 主要功能: 可以添加统一的头信息 统一处理异常 自动注入加载动画(可选) 自动解析bean对象 结合Stetho,调试更方便 1.添加依赖
一,概述 在上一篇blog的末尾讲到了OKHttp使用时的缺点,和对OKHttp封装的必要性。在github上有很多对OKHttp封装的优秀框架,其首推的就是hongyang大神的OKHttpUtils。关于hongyang大神的OKHttpUtils使用以及源码分析在后面章节再做讲解。这篇blog主要讲解鄙人自己封装的OKHttpUtils的使用方法。源码比较简单,感兴趣的朋友可以自行查看。 g
前言 OkHttpUtils - 封装了okhttp的网络框架,目前Get,Post的请求已经完成,支持大文件上传下载,上传进度回调,下载进度回调,表单上传(多文件和多参数一起上传),链式调用,整合Gson,自动解析返回对象,支持Https和自签名证书,支持cookie自动管理,后期将要实现的功能,统一的上传管理和下载管理。 用法 Android studio 使用前,对于Android Stud
public class OkHttpUtils { /** * 懒汉 安全 加同步 * 1.私有的静态成员变量 只声明不创建 * 2.私有的构造方法 * 3.提供返回实例的静态方法 */ private static OkHttpClient okHttpClient = null; private OkHttpUtil
package com.example.lenovo.jd.view.utils; import android.os.Handler; import java.io.IOException; import java.util.Map; import okhttp3.Call; import okhttp3.Callback; import okhttp3.FormBody; import okh
package com.example.administrator.boe.utils; import android.content.Context; import android.media.TimedMetaData; import android.os.Handler; import android.os.Looper; import android.os.Message; impor
目录 一、使用时需要先添加依赖(build.gradle文件中): 二、使用注意事项 三、OkHttpUtils 目前支持 3.1 统一的文件下载管理(DownloadManager): 3.2 统一的文件上传管理(UploadManager) 四、用法 4.1 方法说明 4.2 请求文件下载 4.3 普通Post,直接上传String类型的文本 4.4.普通Post,直接上传Json类型的文本
声明:本文资源来自网上和博主的再加工,仅供自己学习、修改和分享,如有侵权,请告知,定会及时删除,谢谢。 pom依赖 <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>4.9.0</version> </dependency> 代码 im
package com.hhit.hhmc.util; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.FileNameMap; import java.net.URLConnection; i
Demo下载地址: http://download.csdn.net/detail/sinat_28238111/9831894
public class OkHttpUtils { private static OkHttpClient client = null; public OkHttpUtils() { } //单列模式(懒汉)初始化okhttp public static OkHttpClient getInstance() { if (client ==
OkhttpUtils public class OkhttpUtils { private static OkhttpUtils instener; private OkHttpClient okHttpClient; private static Handler handler; private OkhttpUtils() { HttpLog
okhttputils import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.blankj.utilcode.util.ToastUtils; import com.zhy.http.okhttp.callback.Callback; import java.
前言: 上一篇我们讲到了基本的Okhttp的封装,只需要我们在代码种调用okHttpUtils.getInstance().GET(url, MyCallBack),一句话完事,而且还是链式的,只需要在MyCallBack中处理返回的Response即可,是不是感觉很爽,不要着急,接下来会让你更爽,请自行准备纸巾,条件允许的话也可以为你的宝贝充上气。没有看过上篇文章的,最好看一下,点击即可跳转:
一.作为文件体上传文件 Map<String, String> params = new HashMap<>(); params.put("cylsh", mp4Bean.getLsh());//查验流水号 params.put("cycs", mp4Bean.getFtpdir());//查验次数 params.put("cyqxh", cyqxh
本文只记录于鸿洋的okhttputils,其他框架只具有参考价值。 cookie持久化 CookieJarImpl cookieJar = new CookieJarImpl(new PersistentCookieStore(YUtils.getApplication())); OkHttpClient okHttpClient = new OkHttpClien
主要内容:前言,Netty客户端与服务端交互流程,1. 写一个NettyServer,2. 写一个NettyClient, ChannelHandler ,3. 用NettyClient测试NettyServer,4. 整合netty,5. failed to create a child event loop 报错问题前言 上篇文章写到了利用zookeeper的特性实现缓存服务地址列表,接下来我们可以借助Netty的优点对程序进行改造,使其即支持Http容器的
我有一个聊天机器人解决方案创建使用。Net Framework,该框架与Facebook messenger集成,使用Microsoft提供的以下说明: https://docs.microsoft.com/en-us/azure/bot-service/bot-service-channel-connect-facebook?view=azure-bot-service-4.0 现在他们添加了一
本文向大家介绍基于NIO的Netty网络框架(详解),包括了基于NIO的Netty网络框架(详解)的使用技巧和注意事项,需要的朋友参考一下 Netty是一个高性能、异步事件驱动的NIO框架,它提供了对TCP、UDP和文件传输的支持,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得IO操作结果。 Netty的优点有: a、功
本文向大家介绍Flutter 网络请求框架封装详解,包括了Flutter 网络请求框架封装详解的使用技巧和注意事项,需要的朋友参考一下 Flutter 请求网络的三种方式 flutter 请求网络的方式有三种,分别是 Dart 原生的网络请求 HttpClient、第三方网络请求 http以及 Flutter 中的 Dio。我们可以比较一下这三种网络请求方式,然后封装为我们方便请求网络的工具类。
前几节介绍的LeNet、AlexNet和VGG在设计上的共同之处是:先以由卷积层构成的模块充分抽取空间特征,再以由全连接层构成的模块来输出分类结果。其中,AlexNet和VGG对LeNet的改进主要在于如何对这两个模块加宽(增加通道数)和加深。本节我们介绍网络中的网络(NiN)[1]。它提出了另外一个思路,即串联多个由卷积层和“全连接”层构成的小网络来构建一个深层网络。 NiN块 我们知道,卷积层
在 libuv 中,网络编程与直接使用 BSD socket 区别不大,有些地方还更简单,概念保持不变的同时,libuv 上所有接口都是非阻塞的。它还提供了很多工具函数,抽象了恼人、啰嗦的底层任务,如使用 BSD socket 结构体设置 socket 、DNS 查找以及调整各种 socket 参数。 在网络I/O中会使用到uv_tcp_t和uv_udp_t。 note 本章中的代码片段仅用于展示
1 三次握手 客户端通过向服务器端发送一个SYN来创建一个主动打开,作为三次握手的一部分。客户端把这段连接的序号设定为随机数 A。 服务器端应当为一个合法的SYN回送一个SYN/ACK。ACK 的确认码应为 A+1,SYN/ACK 包本身又有一个随机序号 B。 最后,客户端再发送一个ACK。当服务端受到这个ACK的时候,就完成了三路握手,并进入了连接创建状态。此时包序号被设定为收到的确认号 A+1
网络 [IPV6] ipv6.disable={0|1} ipv6.disable_ipv6={0|1} 是否在所有网络接口上禁用IPv6支持:0(默认值)表示在所有网络接口上开启IPv6支持;1 表示在所有网络接口上关闭IPv6支持。建议使用"ipv6.disable=1"(彻底禁用ipv6内核模块) [IPV6] ipv6.autoconf={0|1} 是否在所有网络接口上开启IPv6地址自动