OkHttp
文章平均质量分 89
Luckie stone
Android应用开发。
展开
-
OkHttp3入门介绍之Cookie持久化
前面文章介绍了OkHttp3的基本用法,GET/PST请求、上传下载文件等等,本章节主要介绍基于内存和本地缓存的Cookie管理。官网:http://square.github.io/okhttp/Github:https://github.com/square/okhttpOkHttp3Demo传送门:https://github.com/linzhiyong/OkHttp3Demo服...转载 2019-03-16 09:52:37 · 639 阅读 · 0 评论 -
okhttp源码学习笔记(一)-- 综述
okhttp是一个网络请求框架,不仅仅可以用于Android应用中。在okhttp之前,Android中有不少的优秀网络请求框架,比如HttpClient,Volley等,而okhttp虽然与这些框架完成相同的事情,但是与之存在本质的不同,前者都是对Java中的UrlConnection进行封装,而okhttp则是直接对socket进行封装,也就是说他们所处的层次不同。除此以外,okhttp在各种...转载 2019-03-23 08:28:23 · 323 阅读 · 0 评论 -
okhttp源码学习笔记(二)-- 连接与连接管理
本篇文章为okhttp源码学习笔记系列的第二篇文章,本篇文章的主要内容为okhttp中的连接与连接的管理,因此需要重点介绍连接的概念。客户端通过HTTP协议与服务器进行通信,首先需要建立连接,okhttp并没有使用URLConnection, 而是对socket直接进行封装,在socket之上建立了connection的概念,代表这物理连接。同时,一对请求与响应对应着输出和输入流, okhttp中...转载 2019-03-23 08:30:57 · 660 阅读 · 1 评论 -
OkHttp 源码学习笔记(三) 数据交换的流 HTTPCodec
在上一篇文章中介绍了okhttp中连接概念以及连接建立和管理,其中在拦截器链中的ConnectInterceptor负责建立连接,并在该连接上建立流,将其放置在拦截器链中,在拦截器链中的最后一个拦截器CallServerInterceptor,通过使用流的操作完成网络请求的数据交换。下面从该拦截器开始学习okhttp时如果通过流的操作完成网络通信的。1. 最后一个拦截器CallServerIn...转载 2019-03-23 08:32:33 · 841 阅读 · 0 评论 -
okio 源码学习笔记
首先我们来看一下应用okio的一个简单的小例子,该方法的功能就是完成文件的拷贝 public static void copyFile(String fromName, String toName) throws IOException{ File from = new File(fromName); File to = new File(toName);...转载 2019-03-23 08:36:05 · 457 阅读 · 0 评论 -
okhttp3源码分析:架构全面解析
一、摘要 okhttp3在android应用开发中是现今最牛(哔)的网络交易框架,不接受反驳。二、okhttp3源码地址okhttp3框架源码地址:https://github.com/square/okhttp三、okhttp3简单使用OkHttpClient client = new OkHttpClient.Builder().build();Requ...转载 2019-12-22 09:16:25 · 1464 阅读 · 0 评论 -
OKHttp实现多文件上传
开发中有时有这么一个需求,要求对文件进行上传或下载,但是在上传或者下载前,你需要给用户一个友好的提示,在上传或者下载中,你需要将进度展示给用户,下载或者完成后提示用户下载完成。这里给出服务器端(我用的jsp)和Android客户端的代码的github地址JSP服务器端https://github.com/zhouxu88/UploadFileWebDemo.gitAndr...转载 2019-06-07 09:52:35 · 4410 阅读 · 0 评论 -
Android 实现一个简单的文件下载工具
下载应该是每个App都必须的一项功能,不采用第三方框架的话,就需要我们自己去实现下载工具了。如果我们自己实现可以怎么做呢?首先如果服务器文件支持断点续传,则我们需要实现的主要功能点如下:多线程、断点续传下载 下载管理:开始、暂停、继续、取消、重新开始如果服务器文件不支持断点续传,则只能进行普通的单线程下载,而且不能暂停、继续。当然一般情况服务器文件都应该支持断点续传吧!下边分别是单...转载 2019-06-07 09:54:17 · 6804 阅读 · 0 评论 -
Android 实现一个简单的文件上传工具
之前写了一篇关于下载的文章,有需要的可以了解下:Android 实现一个简单的文件下载工具和下载功能一样,文件上传的功能在开发中也经常用到,所以这次我们同样基于okhttp实现一个简单的文件上传工具。基本实现原理首先我们定义一个OkHttpManager类来进行基本的网络请求,这里采用异步的方式并对请求的headers进行配置:public class OkHttpManager...转载 2019-06-07 09:56:01 · 3261 阅读 · 0 评论 -
OKHttp3上传图片到服务器
本篇文章介绍了关于okhttp3上传用户头像到服务器代码块 public class ImgagePhoneoActivity extends AppCompatActivity { private static final int REQUEST_CHOOSE_IMAGE = 0x01; private static final int REQUEST_WRITE_E...转载 2019-06-07 10:08:24 · 3079 阅读 · 2 评论 -
okhttp3缓存设置及拦截器的使用
OkHttp是由Square发布的一个HTTP client,它支持高速缓存服务器响应.缓存:如果服务器支持缓存,请求返回的Response会带有这样的Header:Cache-Control, max-age=xxx,这种情况下我们只需要手动给okhttp设置缓存就可以让okhttp自动帮你缓存了。这里的max-age的值代表了缓存在你本地存放的时间。OkHttpClient ok...原创 2019-06-19 06:25:05 · 2467 阅读 · 1 评论 -
OkHttp3入门介绍
OkHttp是一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,本文主要介绍OkHttp3的基本使用方法。官网:http://square.github.io/okhttp/Github:https://github.com/square/okhttpOkHttp3Demo传送门:https://github.com/linzhiyong/OkHttp3Demo服务端Demo传送门...转载 2019-03-16 09:51:14 · 464 阅读 · 0 评论 -
OkHttp3 (四)——Cookie与拦截器
Cookie在介绍如何使用Cookie之前,我们应该对后台的数据处理有一定的认识。由于HTTP协议无状态的特性,后台是无法保存用户的信息的,在此情形下,Cookie就诞生了。Cookie的作用是在客户端保存数据,然后在每一次对该站点进行访问的时候都会携带此Cookie中的数据,于是后台就可以通过客户端Cookie中的数据来识别用户。早期很多网站甚至将用户名和密码保存在Cookie中。在W...转载 2019-03-16 09:47:06 · 1545 阅读 · 0 评论 -
OkHttp深入学习(二)——OkHttpClient工作原理初步分析
RealCall.class先来看一下通过client.newCall(request)得到的Call对象newCall(request)@OkHttpClient.classCall newCall(Request request) { return new RealCall(this, request); } 方法很简单就是利用调用newCall方法的Ok...转载 2018-05-04 16:00:14 · 1008 阅读 · 0 评论 -
OkHttp深入学习(三)——网络
无论我们是发送同步请求还是异步请求,最终都会通过调用RealCall的getResponseWithInterceptorChain()方法来获取request对应的response。本篇就从该方法开始,来分析OkHttp是如何实现网络通信的。RealCall.class首先直接看getResponseWithInterceptorChain()的源码。getResponseWithI...转载 2018-05-04 16:21:06 · 317 阅读 · 0 评论 -
OkHttp深入学习(四)——Cache
本节对okhttp的Cache如何实现进行介绍.Cache.class该对象拥有一个DiskLruCache引用。private final DiskLruCache cache;Cache()@Cache.classpublic Cache(File directory, long maxSize) { this(directory, maxSize, Fil...转载 2018-05-04 16:23:37 · 507 阅读 · 0 评论 -
OkHttp深入学习(五)——0kio
这一节我们继续来看看okhttp这个教科书中还有什么值得我们继续挖掘的东西。果不其然,我们发现了okio这个好东西,该类主要负责对java中io的封装,使得java中的io流读写更加方便,甚至还能提高读写效率。okio项目开源地址请戳这里。在正式学习之前,我们先来了解一下它是如何使用的,随后我们再根据涉及到的内容进行深入学习。okio的数据存储实体 okio提供了ByteStr...转载 2018-05-04 16:25:41 · 389 阅读 · 0 评论 -
Android OkHttp完全解析
一、概述最近在群里听到各种讨论okhttp的话题,可见okhttp的口碑相当好了。再加上Google貌似在6.0版本里面删除了HttpClient相关API,对于这个行为不做评价。为了更好的在应对网络访问,学习下okhttp还是蛮必要的,本篇博客首先介绍okhttp的简单使用,主要包含:一般的get请求 一般的post请求 基于Http的文件上传 文件下载 加载图片 支持请求回调...转载 2018-05-05 13:11:47 · 203 阅读 · 0 评论 -
OKHttp 使用详解
一,OKHttp介绍okhttp是一个第三方类库,用于android中请求网络。这是一个开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso和LeakCanary) 。用于替代HttpUrlConnection和Apache HttpClient(android API23 里已移除HttpClient)。okhttp有自己的官网,官网网址...转载 2018-05-05 13:11:23 · 711 阅读 · 0 评论 -
Android Https相关完全解析 当OkHttp遇到Https
一、概述其实这篇文章理论上不限于okhttp去访问自签名的网站,不过接上篇博文了,就叫这个了。首先要了解的事,okhttp默认情况下是支持https协议的网站的,比如https://www.baidu.com,https://github.com/hongyangAndroid/okhttp-utils等,你可以直接通过okhttp请求试试。不过要注意的是,支持的https的网站基本都是CA机构颁...转载 2018-07-15 09:16:05 · 311 阅读 · 0 评论 -
Android okHttp网络请求之缓存控制Cache-Control
Cache-Control:Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令有下几种:Public指示响应可被任何缓存区缓存。Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用...转载 2019-03-16 08:19:49 · 2497 阅读 · 0 评论 -
OkHttp3 (一)——客户端对象
开始前的示例我们需要一个实际的例子来演示OkHttp的简单用法val NARUTO = "http://tupian.enterdesk.com/2013/xll/007/27/10/8.jpg"fun main(args: Array<String>) { //1,创建请求客户端 val client: OkHttpClient = OkHttpClient...转载 2019-03-16 09:32:09 · 186 阅读 · 0 评论 -
OkHttp3 (二)——请求
请求对象在OkHttp3中,所有的网络请求都由一个Request对象指定,而客户端的任务就是执行这个请求。Request对象不能被直接创建,必须通过Builder模式构建。这个请求对象在网络访问过程中的作用有四:指定访问地址:无论何种网络访问,我们都需要知道对方的URL地址。指定请求方式:常见的请求方式有GET,POST,PUT,DELETE,PATCH等。指定请求头:对于大部分场景,我...转载 2019-03-16 09:36:20 · 918 阅读 · 0 评论 -
OkHttp3 (三)——创建与执行网络请求
请求在OkHttp中,一般的请求方式为:fun main(args: Array<String>) { val client = OkHttpClient() val request = Request.Builder() .url(URL) .build() val call = client.newC...转载 2019-03-16 09:40:37 · 510 阅读 · 0 评论 -
OkHttp深入学习(一)——使用
Android 4.4之后,HttpURLConnection底层实现已被OkHttp替换。可以见得OkHttp的性能已经被Google所认同。对于为何会想深入了解该库的原因:因为它的最底层走到了java的Socket;利用向Socket写入特定的Http协议数据包,实现网络通信。学习该开源项目,对于网络的学历大有益处,除此之外OkHttp使用了缓存和线程池概念。总之个人觉得OkHttp开...转载 2018-05-04 15:58:17 · 209 阅读 · 0 评论