Volley框架分析

来源:互联网 发布:mac格式化重装系统 编辑:程序博客网 时间:2024/05/16 18:40

1.背景介绍

在开发Android App的时候不可避免的需要用到网络请求,不论是请求api接口还是请求图片,都要频繁的使用网络请求,而根据Android的规定,在主UI线程中是不允许执行网络请求的,所以我就需要另起线程来执行网络请求,而在项目中会很经常是的使用网络请求,这样就会产生大量的重复代码,以及为网络请求开启的一堆线程,这样会导致整个项目的线程不可控以及大量的无用功。

实际上,在我们应用程序中大多数的情况都是使用HTTP协议来请求网络数据。目前在一般的项目中,基本上都是使用两种方式来进行HTTP通信,HttpClient和HttpURLConnection ,在Android SDK 8(包含8)之前都是使用HttpClient来进行网络请求,在Android SDK 8之后Android官方是不推荐使用HttpClient来进行网络请求,而是推荐使用HttpURLConnection。虽然使用这两种方式就可以实现网络请求了,但是实际使用起来还是比较麻烦的。所以Android官方开发团队为了将网络请求的操作给简单化,在2013年的Google I/O大会上推出一个新的网络通信框架----Volley。除了简单易用之外,Volley在性能上也进行了大幅度的调整,它的设计目标就是为了满足进行数据量不大,但通信频繁的网络请求。


 

2.Volley框架初体验




1、在项目中导入Volley 框架的jar包。


2、创建一个网络请求队列(RequestQueue)对象。


3、创建一个网络请求对象(Request)对象。

3.1、文本请求

创建StringRequest对象的方式


实例:


3.2、Json请求


3.3、图片请求

ImageRequest方式


Volley框架提供了另一种方式加载图片,并且这种方式加入了缓存机制,所以官方是不推荐用ImageRequest方式的,另一种方式ImageLoader使用如下。

ImageLoader方式



4、将网络请求Request对象加入请求队列RequestQueue。


5、请求结束,重点是这样的代码可以在任意地方编写,不管是不是主UI线程。

0 0