Android Volley
文章平均质量分 85
linmiansheng
邮箱 :sheepjtgjfc163.com
展开
-
Android中关于Volley的使用(一)加载图片
在上面,我们可以看到,在ImageRequest的构造函数中,我们就可以直接将一些关于Bitmap的参数给传进去了,比如长宽等信息,然后在其返回的Response.Listener中获得返回的结果,就是一个Bitmap了,并在onResponse函数中对ImageView进行设置,最后将其添加到mQueue中。1)定义一个RequestQueue,如下:2)在OnCreate方法中对其进行初始化,this其实就是当前Activity,是一个Context类:3)创建ImageRequest对象,并将其原创 2014-03-05 00:32:08 · 6563 阅读 · 4 评论 -
Android中关于Volley的使用(九)认识HurlStack(HttpClientStack)
HttpURLConnection是Android3.0以后才提供的一个网络访问类,而HurlStack类,也正是H(ttp)URL的缩写,所以这个类,其实就是基于HttpUrlConnection的实现,其步骤如下:1)从Request中获得url参数,根据url参数构造URL对象,而URL对象是java提供的获取网络资源的一个封装好的实用类。2)从URL对象打开Connection,并设置connection的超时,缓存,让网络资源写入等属性。 3)调用方法 setConnectionPara原创 2014-04-10 17:43:23 · 5523 阅读 · 2 评论 -
Android中关于Volley的使用(零)Android中下载编译Volley
1)通过 git 下载 volley 源码,如下(我在这里是在cygwin里面去下载的):git clone https://android.googlesource.com/platform/frameworks/volley...2)在Window下用cmd命令进入到 volley目录,然后运行 "android update project -p .",后面的点表示当前目录 如下:...3)最后再用ant来编译成jar包就行,命令是"ant jar"。原创 2014-03-04 10:27:15 · 6675 阅读 · 6 评论 -
Android中关于Volley的使用(七)认识 NetworkDispatcher 和 BasicNetwork
网络线程(NetworkDispatcher)主要做了几件事情:1)调用 mQueue的take()方法从队列中获取请求,如果没有请求,则一直阻塞在那里等待,直到队列中有新的请求到来。2)判断请求有没有被取消,如果被取消,则重新获取请求。3)调用Network对象将请求发送到网络中,并返回一个 NetworkResponse对象。4)调用请求的pareseNetworkResonse方法,将NetworkResponse对象解析成相对应的Response对象。5)判断请求是否需要缓存,如果需要缓存原创 2014-03-31 11:44:08 · 4925 阅读 · 1 评论 -
Android中关于Volley的使用(五)从RequestQueue开始来深入认识Volley
在前面的几篇文章中,我们学习了如何用Volley去网络加载JSON数据,如何利用ImageRequest和NetworkImageView去网络加载数据,而关于Volley的使用,我们都是从下面一行代码开始的:Volley.newRequestQueue(this);这是Volley类创建了一个RequestQueue,而关于Volley的一切就是从这个时候开始的,我们就深入地学习一下在这个方法后面到底有着什么样的实现吧。我们来看看Volley类的实现:...Volley类只有两个方法,而主要原创 2014-03-21 00:01:54 · 9598 阅读 · 4 评论 -
Android中关于Volley的使用(六)认识 CacheDispatcher
缓存线程(CacheDispatcher)主要做了几件事情:1)初始化本地缓存2)开始一个无限的循环,调用 mCacheQueue的take方法,来获得一个请求,而mCacheQueue是一个BlockingQueue,也就是说,当队列中没有请求的时候,take方法就会一直阻塞在这里,等待队列中的请求,而一旦队列中有新的请求进来了,那么它就会马上执行下去。3)判断请求是否已经取消,如果已经被取消了,则不需要再走下去。4)根据请求的CacheKey去缓存中寻找相对应的记录,如果找不到对应的记录,或者对原创 2014-03-31 10:58:15 · 4012 阅读 · 0 评论 -
Android中关于Volley的使用(十)对Request和Reponse的认识
好了,到这里,总结一下:1)创建一个Request的时候,会同时设置一个Response.Listener作为请求的一个参数变量,之后调用RequestQueue的add方法将其添加到Queue。2)在Queue中的请求会由NetworkDispatcher去跟网络进行通信(如果有缓存的时候,就是CacheDispatcher)。3)当请求结果回来的时候,Request会首先调用parseNetworkResponse方法根据不同的请求类型,如Json,Image等进行不同的处理。4)当Reques原创 2014-04-30 00:01:03 · 4033 阅读 · 13 评论 -
Android中关于Volley的使用(四)利用NetworkImageView来加载图片
在使用Volley来从网络获取图片的时候,我们前面介绍了ImageRequest的使用,而其实Volley还提供了一个NetworkImageView类。利用这个类,我们可以更有效率地去从网络去获取图片,因为它里面帮我们多设置了一个缓存,帮我们自己去处理请求的队列。NetworkImageView类的具体使用方式如下:1)在XML中定义: <FrameLayout原创 2014-03-16 00:01:11 · 13139 阅读 · 4 评论 -
Android中关于Volley的使用(三)认识Volley的架构
首先,我们要先了解一下Volley的架构,简单地来说,就是三层:1)队列:将请求添加到Queue中2)缓存:在Cache中查找有没有缓存这个请求要的数据,2.1)有,请求如果过期了,到第 3)步,如果没有过期,直接返回一个Response。2.2)没有,到第 3)步3)网络:通过传进来的url 来发送请求,到网络中获取数据,然后返回一个Response,并判断是否要存到Cache中。结合上图,我们来简单地先说一下Volley的流程是怎么样的。第一步:通过Volley.newRequestQue原创 2014-03-14 13:43:43 · 3851 阅读 · 1 评论 -
Android中关于Volley的使用(二)加载Json数据
前面一篇关于Volley的文章中,我们学习了如何利用ImageRequest去网络中加载图片,那么今天我们就来学习一下如何利用volley去网络中加载Json格式数据,并将其展示在一个ListView上。1)数据源:private static final String WEATHER_LINK = "http://www.weather.com.cn/data/sk/101280101.html";这是由中国天气网提供的关于某个城市的天气预告的Json数据,大家直接点击链接进去 http://ww原创 2014-03-11 00:00:21 · 8714 阅读 · 13 评论 -
Android中关于Volley的使用(八)缓存机制的深入认识
有一个朋友在私信里问我,1)Volley可以在SD卡中缓存图片,那可不可以在SD卡中缓存Json数据呢?2)如果断网了,Volley是不是就不能用了,存在SD卡中的数据是不是就用不了了?在Volley中,默认使用的缓存实现是 DiskBasedCache,在创建RequestQueue的时候,同时也会创建一个DiskBasedCache对象,如下:RequestQueue queu原创 2014-04-06 12:31:20 · 12576 阅读 · 19 评论