volley官网地址:https://android.googlesource.com/platform/frameworks/volley/
volley发布视频:https://www.youtube.com/watch?v=yhv8l9F44qo&feature=player_embedded
网络是Android开发中非常重要的一部分,Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使用率非常高。不过HttpURLConnection和HttpClient使用起来有些复杂,而且如果不进行适当的封装,还会出现很多重复的代码。所以,很多的网络加载框架就应运而生,像xUtils、AsyncHttpClient等,它们把HTTP所有的通信细节全部封装在了内部,我们只需要简单调用几行代码就可以完成通信操作了;而专门针对图片的加载也有很多,比如Universal-Image-Loader、Picasso、glide、fresco等,它们把复杂的过程全部都封装起来了,我们可以使用很少的代码,甚至只需要一行代码就可以完成图片的加载,并且实现了缓存。
我们今天要说的就是Volley这个网络加载框架,它是Google在2013年的I/O大会上推出的。Volley简单易用,可扩展性强。它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕。下面这张图就很好的展示了Volley的这一特性。
将Volley的导入到项目中
如果是Eclipse,就需要先下载Volley的jar包或者库文件,然后导入到项目中,下面链接可以进行下载
http://mvnrepository.com/artifact/com.mcxiaoke.volley/library
如果是Android studio,可以直接在gradle中添加
dependencies {
...
compile 'com.github.erd:android-volley:1.0.0'
compile 'com.google.code.gson:gson:2.2.4'
}
Volley的使用主要分为三步:
① 创建RequestQueue队列
② 创建Request
③ 将Request添加到RequestQueue队列中
通过上面三个步骤我们就能从指定的链接获取到数据,下面我们就来看一看具体的使用。
StringRequest的用法
我们根据上面的三步来:
第一步:创建RequestQueue队列,使用Volley的静态方法newRequestQueue(Context context)即可
RequestQueue requestQueue = Volley.newRequestQueue(context)
第二步:创建Request,我们这里创建一个StringRequest,使用GET的请求方式