Android网络实战篇——OkHttp3(Retrofit2)五种缓存模式的实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android网络实战篇——OkHttp3(Retrofit2)五种缓存模式的实现相关的知识,希望对你有一定的参考价值。

参考技术A 网上有许多写OKhttp3缓存的文章,例如:
【Okhttp3结合Retrofit2 实现缓存】 https://www.jianshu.com/p/74d2c10c3eba?from=timeline
【使用Retrofit和Okhttp3实现网络缓存】 https://www.jianshu.com/p/34f73e571ecb
【okhttp3缓存实践】 http://blog.csdn.net/wuhengde/article/details/54927096
这些文章都很不错,但还是有一些小小的瑕疵,这里我参考他们的文章结合自己的实践简单封装了Okhttp3的五种缓存方式供大家参考,如有错误还请不吝赐教。

主要知识点:

public class OkHttpUtil



后记:如有不同见解或疑惑,欢迎留言,如果觉得不错可以来个赞!点个赞!

Android实战——okhttp3的使用和封装


本篇文章包括以下内容:

  • okhttp3是什么
  • okhttp3工具类的演示(基于okhttp工具类的封装)
  • okhttp3工具类的封装

使用作者的项目的原话:Android和Java应用程序的HTTP和HTTP / 2客户端
其项目地址:https://github.com/square/okhttp

1、Get请求
2、Post请求
3、文件上传
4、文件下载

由于okhttp3里面是依赖于okio进行开发的,所以务必将okio也引入;老年服饰


我们根据okhttp3的使用封装了HttpUtils,用起来非常简单,跟第三方平台Api使用一样

这里使用response.body().string()返回响应结果内容


okhttp3采用构造者模式来实现的,下面是简单的API介绍:

  • Request.Builder 请求构造者
    • url(String url):请求的url
    • post():默认是Get方式
    • post(RequestBody body):Post带参数
    • build():构造请求

请求参数有三种:

  • RequestBody:普通的请求参数
  • FormBody.Builder:以表单的方式传递键值对的请求参数
  • MultipartBody.Builder:以表单的方式上传文件的请求参数

执行方法:

  • Call
    • enqueue(Callback callback):异步请求
    • execute():同步请求

创建HttpUtils工具类,由于okhttp3不建议创建多个对象,所以采用饿汉式的单例模式

okhttp3也提供了同步的请求方式,通过call.execute()方法,这里都使用异步来演示

如果在下载文件中需要进度的话,可以修改onResponse回调里面的内容就可以获取进度







以上是关于Android网络实战篇——OkHttp3(Retrofit2)五种缓存模式的实现的主要内容,如果未能解决你的问题,请参考以下文章

CK2031-基于okhttp 3 的 Android 网络层架构设计实战

网络请求框架OkHttp3全解系列:OkHttp的基本使用

Android网络框架OKhttp3学习笔记

ym—— Android网络框架Volley(实战篇)

Android OkHttp3简介和使用详解

Android 网络请求框架okhttputils报错(okhttp3找不到)