Volley——简单迅捷的Android网络模块范例

Volley 是一个提供给 Android 应用非常易用的网络库,更好的是这个库还加快了网络访问速度。本文会总览Volley库的主要功能,包括工作原理、常见工作模式以及如何使用该库从网络上并行加载缩略图到应用ListView中的流程。

Volley是 AsyncTask 的绝佳替代品。对于Android开发者来说,为了做好ListView和网络服务请求我们在AsyncTask上花了太多的时间。最近,我读了一篇关于AsyncTask非常棒的文章,我建议每一个 Android 开发者都去读一下+Fré Dumazy “Dark Side of AsyncTask”。AsyncTask 简直成为了所有项目中的冗余。多亏了Volley 这个框架,现在我们可以有效地减少在 AsyncTasks上花费的编码时间和精力了。

这篇文章演示了一个非常简单的 Volley的示例。例子中的VolleyTest 应用会从Yahoo Pipe上获取 JSON 文章数据并且显示在 ListView 中。

图1

图2

第一步: 从 Git 仓库把 Vollery 库克隆下来

第二步: 在 Android Studio 中新建一个叫 “VolleyTest” 的项目

第三步: 将 Volley 的库源文件拷贝到 “VolleyTest”的项目中,在这里复制源码是最安全和简单的方法。

图3

第四步: 在 AndroidManifest.xml 中添加网络权限

第五步: 在 activity_main.xml 中添加一个 ListView

第六步: 为 ListView 的行布局新建一个“row_listview.xml”

第七步: 把如下代码添加到 MainActivity.java 文件中
通过 Volley 去请求网络需要分三步。
1、通过 Volley 类来新建一个新的请求队列:

2、新建一个 JsonObjectRequest 对象,并且设置好各项具体参数,比如url、http method以及监听结果的listeners

3、将JsonObjectRequest添加到 JsonObjectRequest中:

下面的代码是带有Adapter,以及Model的完整代码,为了方便阅读我把所有的类都放到了一个Java文件中。

你也可以从 Github 上获取完整代码: https://github.com/kpbird/volley-example

收藏 评论

关于作者:zerob13

一个喜欢折腾的人个人网站: http://zerob13.in,新浪微博: @zerob13 个人主页 · 我的文章 · 1

可能感兴趣的话题



直接登录
跳到底部
返回顶部