【发布时间】:2018-01-19 03:08:24
【问题描述】:
使用OkHttp时,网络请求在1或2中执行如下代码:
val response = client.newCall(request).execute() // (1)
if (response.isSuccessful) {
val bs = response.body().byteStream() // (2)
val bitmap = BitmapFactory.decodeStream(bs)
} else { ... }
我一直以为我是在(1)处死的,在这种情况下询问响应是否成功是有意义的。但是今天我决定实现this official recipe 来跟踪正在下载的文件的进度。
然后我意识到,如果我删除了这些行 (response.body().byteStream()),进度计数器根本不会移动。理论上,我们不会下载任何东西,除非我们在下载,否则success 在这种情况下是什么意思。
很抱歉,如果这是一个愚蠢的问题,我相信我在这里缺少一些关于网络的非常基本的东西,我想了解更多信息。
我试图了解Okiolibrary 的源代码,但它对我来说有点太复杂了,我需要一些参考或指导。
【问题讨论】: