小编典典

Android 网络库的比较:OkHTTP、Retrofit 和 Volley

all

一个学习 Android 的 iOS 开发人员提出的两部分问题,他正在开发一个 Android 项目,该项目将提出各种请求,从 JSON
到图像再到音频和视频的流式下载:

  1. 在 iOS 上,我广泛使用了AFNetworking项目。是否有适用于 Android 的等效库?

  2. 我已经阅读了 Square 的OkHTTPRetrofit以及Volley,但还没有使用它们开发的经验。我希望有人可以为每个人提供一些最佳用例的具体示例。根据我的阅读,OkHTTP 似乎是三者中最健壮的,并且可以处理该项目的要求(如上所述)。


阅读 188

收藏
2022-03-06

共1个答案

小编典典

我希望有人可以为每个人提供一些最佳用例的具体示例。

如果您正在与 Web 服务通信,请使用 Retrofit。如果您正在下载图像,请使用对等库 Picasso。如果您需要执行 Retrofit/Picasso
之外的 HTTP 操作,请使用 OkHTTP。

Volley 与 Retrofit + Picasso 大致竞争。从好的方面来说,它是一个图书馆。不利的一面是,它是 一个未记录的、
不受支持的“将代码扔到墙上并在其上进行 I|O 演示”的库。

编辑 - 谷歌现在正式支持
Volley。请参考谷歌开发者指南

从我读过的内容来看,OkHTTP 似乎是 3 个中最健壮的

如果可用,Retrofit 会自动使用 OkHTTP。Jake
Wharton
有一个Gist将 Volley 连接到
OkHTTP。

并且可以处理这个项目的要求(如上所述)。

根据“流式传输”的传统定义,您可能不会将它们用于“音频和视频的流式下载”。相反,Android 的媒体框架将为您处理这些 HTTP 请求。

话虽如此,如果您要尝试自己进行基于 HTTP 的流式传输,OkHTTP 应该可以处理这种情况;我不记得 Volley 会如何处理这种情况。Retrofit
和 Picasso 都不是为此而设计的。

2022-03-06