<分区>
来自学习 Android 的 iOS 开发者的两部分问题,正在开发一个 Android 项目,该项目将发出从 JSON 到图像再到音频和视频的流式下载的各种请求:
在 iOS 上我使用了 AFNetworking项目广泛。是否有适用于 Android 的等效库?
我已经阅读了 OkHTTP和 Retrofit通过 Square,以及 Volley但还没有与他们一起开发的经验。我希望有人可以为每个人提供一些最佳用例的具体示例。从我读到的内容来看,OkHTTP 似乎是三者中最健壮的,并且可以处理这个项目的要求(如上所述)。
I'm hoping someone can provide some concrete examples of best use cases for each.
如果您正在与 Web 服务通信,请使用 Retrofit。如果要下载图像,请使用对等库 Picasso。如果您需要执行位于 Retrofit/Picasso 之外的 HTTP 操作,请使用 OkHTTP。
Volley 大致与 Retrofit + Picasso 竞争。从好的方面来说,它是一个图书馆。不利的一面是,它是一个未记录的 一个不受支持的“将代码扔到墙上并对其进行 I|O 演示”库。
编辑 - Volley 现在得到了 Google 的正式支持。欢迎咨询Google Developer Guide
From what I've read, seems like OkHTTP is the most robust of the 3
如果可用,Retrofit 会自动使用 OkHTTP。有一个 Gist from Jake Wharton将 Volley 连接到 OkHTTP。
and could handle the requirements of this project (mentioned above).
根据“流式传输”的传统定义,您可能不会将它们用于“音频和视频的流式下载”。相反,Android 的媒体框架将为您处理这些 HTTP 请求。
话虽如此,如果您打算尝试进行自己的基于 HTTP 的流式传输,OkHTTP 应该可以处理该场景;我不记得 Volley 会如何处理这种情况。 Retrofit 和 Picasso 都不是为此而设计的。