• 五月
  • 16
  • load

【Retrofit第四篇】协程下载,是你好搭档 2021-05-16 21:57:52

我们看了三篇Retrofit了,可以应对大部分场景。

若是遇到上传下载,这就陷入了知识盲区了吧?上传和下载,在retrofit下,如果要监听过程,那并没有什么好用的方法,反而我们需要利用okhttp解决过程问题。

retrofit的上传和下载的解决方案,可以说是个神奇的东西,你每次百度搜如何上传或下载都能找到新的操作。

先说下载,我们的注解需要额外增加一个,叫@Streaming。由于需要获取字节流,因此返回值也要改成Response<ResponseBody>

你也可以为下载写一个适配器,但拦截stream是在创建的时候拦截,也就是build之前,而适配器是build之后才会执行,因此你想在适配器里拦截就算了。

我们的下载是需要监听过程的,监听请求过程是retrofit不具备的功能,但okhttp具备,因此,在这里我们需要调用okhttp的方法进行监听。

创建一个继承于ResponseBody的类,并实现以下方法

实现请求

retrofit下载并没有什么特别的操作,我相信不管什么项目,下载都要得到一个下载过程,无非就是我们需要额外掌握okhttp是如何拦截请求的。

 

原创文章,转载请注明出处

正在加载评论...

0 / 240

警告

确定