13

我正在研究这两个 Android Http Networking 库。

我想要一些人使用这两个库的经验。就个人而言,我一直很高兴地使用http://loopj.com/android-async-http/库。但最近有人建议我使用 Volley 框架。

我将从其中一项中获得什么好处?
从我目前的阅读来看,Volley 在一个库中集成了许多不错的功能,例如图像加载、请求缓存、请求取消。

我当前的用例/规格:

从我的 android 应用程序中使用 Web 服务。

  • 从 Web 服务接收 JSON 对象
  • 易于与 GUI 集成
  • 相对于原始性能的稳定性和可靠性
  • 图书馆的长期维护和支持。
  • 易于使用/易于实施

从对 SE 的一些阅读中:

“Volley 一切都很好,但不利的一面是,它是一个没有文档、不受支持的“将代码扔到墙上并在其上进行 I|O 演示”的库。

所以我认为它的清晰 Volley 可能会得到功能的支持,但它的文档和维护情况如何?如果我决定使用它,4 年后还会有支持吗?

4

3 回答 3

6

Volley 和 Android Async Http 是不同的东西。

  • Android Async Http:是一个强大的 Http 客户端。提供一些功能作为 REST 助手和 JSON 解析与其他库的集成。

  • Volley:是一个 REST 助手/库,可帮助您处理异步请求和图像加载。Volley 它不是一个 http 客户端。如果您不提供,Volley 使用 SDK http 客户端(apache 或 httpclient 取决于 API 级别),但 Volley 的常见客户端是 OkHttp ( https://goo.gl/nl2DfN )。您也可以轻松地将 Volley 与 Gson 集成。

从我的角度来看,您对单个库的责任与您对单个库的责任一样多,您拥有的自定义更少,并且您将添加更多不需要的代码。这就是如今 Android Async Http 或 ION 等库正在失去控制力的原因,而 Square 解决方案(Okio + OkHttp + Retrofit + Moshi + Picasso - 这五个库)等其他选项正在获得控制力。所以这里有 5 个库,可以单独使用,也可以作为 2 个、3 个或 4 个捆绑在一起使用。这就是灵活性和强大的功能。

有关此内容的进一步阅读,请查看此答案。

于 2015-07-16T12:15:54.357 回答
1

我们目前在我们的应用程序中使用 Volley 和 GSON 的组合。没有什么是我们做不到的,而且我们使用了您能想象到的几乎所有类型的 HTTP 请求。目前包括:

  • 带有 JSON 响应的普通 HTTP 请求
  • 带有表单编码数据以及原始字节数组的 POST 请求
  • 带有大对象(例如图像和文件)的多部分 HTTP 请求
  • 自定义请求标头
  • 国际化请求

尽管我们必须编写大量代码来支持所有这些功能并构建我们想要的框架,但我们还没有遇到无法克服的障碍,但任何 HTTP 库都应该这样做。

Volley 还带有一个处理图像缓存的 ImageLoader,以及许多其他漂亮的功能。

于 2015-03-26T19:58:59.867 回答
1

Android Volley 和 AsyncTask 的区别

试试这个链接 http://www.truiton.com/2015/02/android-volley-vs-asynctask-better-approach/

使用 AsyncTask 是一种很好的方法,但可以将 Android Volley 视为它的 2.0 版本。它比 AsyncTask 有很多改进,因为 volley 是为网络访问而设计的。与 AsyncTask 相比,Android Volley 的一个主要优势是您可以同时执行多个请求,而无需线程管理的开销。此外,我相信重试机制是 volley 的一大特色,它比 AsynTask 更具优势。volley 相对于 AsyncTask 的另一个优势是它为您提供了多种请求类型,通过它们可以轻松地发出复杂的请求。另一方面,在使用 AsyncTasks 时,必须手动创建这种类型的请求。

尽管最佳方法因应用程序而异。就像如果你有更少的请求,你可以使用 AsyncTask。至于 volley,必须导入一个库项目,这会增加您的项目大小。因此在 volley 和 AsyncTask 之间做出明智的选择。希望这个 Android Volley vs AsyncTask 总结能帮助你选择。

于 2016-02-07T16:26:16.670 回答