繁体   English   中英

我应该使用哪个API或库来获取JSON对象

[英]Which API or library should I use to get a JSON object

我想从互联网上下拉一个JSON对象。 我已经看到了许多HTTP Client示例,但我从文档中了解到

Android 6.0版本删除了对Apache HTTP客户端的支持。 如果您的应用程序正在使用此客户端,并且定位到Android 2.3(API级别9)或更高版本,请改用HttpURLConnection类。 该API效率更高,因为它通过透明压缩和响应缓存减少了网络使用,并最大程度地降低了功耗。 要继续使用Apache HTTP API,必须首先在build.gradle文件中声明以下编译时依赖性:

我应该使用HttpURLConnection因为我发现有些人正在使用一个名为Volley的库。

是的,您必须使用HttpUrlConnection 毫无疑问,您可以使用VolleyRetrofit等任何库。但是它们也使用相同的库。

HttpUrlConnection的文档。

如果您确实没有在应用程序中进行任何繁重的工作,例如下载视频等,那么google android volley是您的最佳选择。

Volley是由Google开发并在Google I / O 2013期间引入的网络库。之所以开发它,是因为Android SDK中缺少能够在不干扰用户体验的情况下运行的网络类。

为什么凌空?

  • 避免使用HttpUrlConnectionHttpClient 这些类确实很难使用,并且并非没有错误。
  • 避免AsyncTask
  • 它提供取消API
  • 它快得多
  • 它缓存一切
  • 它具有较小的元数据操作

此外,如果您已经使用过AsyncTask ,那么您会发现volley确实非常相似,甚至更加简单。 Volley有助于避免致命的NullPointerException

不久前,Google +团队针对可用于在Android上发出网络请求的每种不同方法进行了一系列性能测试。 当在RESTful应用程序中使用Volley时,其得分比其他替代方法高出十倍。

但是,当用于流操作和大量下载时,效果不是很好。

我曾与GSON一起使用翻新版“作为解析器”,这为我节省了很多时间,Volley也很棒

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM