我正在研究这两个Android Http Networking库。
我想知道一些人使用这两个库的经验。就我个人而言,我总是非常愉快地使用http://loopj.com/android-async-http/库。但是最近有人建议我使用Volley Framework。
我从其中一个中得到的好处是什么?
从我目前的阅读来看,Volley在一个库中集成了许多不错的功能,如图像加载,请求缓存,请求取消。
我当前的用例/规范:
从我的android应用程序中使用web服务。
- 从web服务接收JSON对象
- 易于与GUI集成
- 稳定性和可靠性优于原始性能
- 图书馆的长期维护和支持。
- 易于使用/易于实现
从一些阅读SE:
"Volley很好,但缺点是,它是一个未记录的、不受支持的、"把代码扔到墙上,然后在上面做一个I/O演示"的库。
所以我认为很明显Volley可能会在功能上获得tick,但是它的文档和维护得如何?如果我决定使用它,4年后还会有支持吗?
Volley和Android异步Http是不同的东西。
Android Async Http:是一个功能强大的Http客户端。
提供一些功能作为REST助手和集成JSON解析与其他库。Volley:是一个REST助手/库,可以帮助您处理异步请求和图像加载。它不是一个http客户端。Volley使用SDK http客户端(apache或httpclient取决于API级别),如果你不提供一个,但Volley的一个常见客户端是OkHttp (https://goo.gl/nl2DfN)。
从我的角度来看,你给单个库的责任越多,你拥有的自定义就越少,你将添加更多不需要的代码。这就是为什么像Android Async Http或ION这样的库现在正在失去控制,而其他选择,如Square解决方案(Okio + OkHttp + Retrofit + Moshi + Picasso -这是五个库)正在获得控制。这里有5个库,它们可以单独使用,也可以作为2、3或4个库捆绑在一起使用。这就是灵活性和力量。
我们目前在我们的应用程序中使用Volley和GSON的组合。没有什么是我们做不到的,我们使用了您能想到的几乎所有类型的HTTP请求。当前包括:
- 带有JSON响应的正常HTTP请求
- POST请求与表单编码的数据以及原始字节数组
- 包含大对象(如图像和文件)的多部分HTTP请求
- 自定义请求头 <
- 国际化请求/gh>
我们还遇到了一个我们无法克服的障碍,尽管我们必须编写相当数量的代码来支持所有这些特性并构建我们想要的框架,但这应该是任何HTTP库所期望的。
Volley还附带了一个ImageLoader,用于处理图像缓存,以及其他一些漂亮的功能。
Android Volley与AsyncTask的区别
试试这个链接http://www.truiton.com/2015/02/android-volley-vs-asynctask-better-approach/
使用AsyncTask是一个很好的方法,但是把Android Volley看作是它的2.0版本。它比AsyncTask有许多改进,因为volley是为网络访问而设计的。Android Volley相对于AsyncTask的一个主要优势是,你可以同时处理多个请求,而没有线程管理的开销。另外,我相信重试机制是volley的一个很好的特性,它比AsynTask更有优势。与AsyncTask相比,volley的另一个优点是它为您提供了多种请求类型,通过这种类型可以轻松地发出复杂的请求。另一方面,当使用AsyncTasks时,必须手动创建这种类型的请求。
尽管最佳方法因应用而异。比如,如果你没有更少的请求,你可以使用AsyncTask。至于volley,您必须导入一个库项目,这将增加您的项目大小。因此,明智地选择volley和AsyncTask。希望这个Android Volley vs AsyncTask的总结对你的选择有帮助。