Volley使用

volley是进行HTTP通信的库,volley封装了HTTP请求过程和响应过程,用Request作为HTTP的请求对象,Response作为HTTP的响应对象,Volley既可以使用StringRequestJsonRequest发送HTTP请求获取字符串数据,也可以使用ImageRequestImageLoaderNetworkImageView加载图片。

使用:使用StringRequest,首先要新建一个请求队列对象RequestQueue,请求队列缓存所有的HTTP请求,然后新建StringRequest对象,StringRequest对象中包含了服务器的URL地址、服务器响应成功的回调接口,服务器响应失败的回调接口,也可以指定发送方式,默认是GET请求,如果要发送POST请求的话,StringRequest要重写父类(Request)的getParams(),在其中添加POST包体,最后把StringRequest对象添加到RequestQueue中,RequestQueue会按照一定的算法并发地发出这些请求。JsonRequest(它是抽象类,子类有JsonObjectRequestJsonArrayRequest)和StringRequest类似,同样继承了Request类,把JsonRequest添加进请求队列后,请求成功的话,可以获取到服务器返回的json数据。ImageRequest同样继承了Request类,用于请求网络上的一张图片,用法和获取字符串的请求类似,ImageLoaderNetworkImageView也可以加载网络上的图片。

Volley库主要靠三种线程实现,包括主线程、缓存线程、网络线程,我们一般在主线程中调用RequestQueueadd()方法来添加一条网络请求,这条请求会先被加入到缓存队列当中,如果发现有相应的缓存结果就直接读取缓存并解析,然后回调给主线程。如果在缓存中没有找到结果,就将这条请求加入到网络请求队列当中,然后发送HTTP请求,再解析响应结果,然后把响应结果写入缓存,之后回调给主线程。

参考链接:

http://blog.csdn.net/ysh06201418/article/details/46443235

你可能感兴趣的:(Android)