Android Volley 框架的使用(一)
为什么要使用Volley框架
开发android应用很多时候都要涉及网络操作,Android SDK中提供了HttpClient 和 HttpUrlConnection两种方式用来处理网络操作,但当应用比较复杂的时候需要我们编写大量的代码处理很多东西:图像缓存,请求的调度等等;
而Volley框架就是为解决这些而生的,它与2013年Google I/O大会上被提出:使得Android应用网络操作更方便更快捷;抽象了底层Http Client等实现的细节,让开发者更专注与产生RESTful Request。另外,Volley在不同的线程上异步执行所有请求而避免了阻塞主线程。
Volley到底有哪些特点呢?
- 自动调度网络请求
- 多个并发的网络连接
- 通过使用标准的HTTP缓存机制保持磁盘和内存响应的一致
- 支持请求优先级
- 支持取消请求的强大API,可以取消单个请求或多个
- 易于定制
- 健壮性:便于正确的更新UI和获取数据
- 包含调试和追踪工具
如何使用Volley
- git clone https://android.googlesource.com/platform/frameworks/volley或者 https://github.com/mcxiaoke/android-volley
或者到Maven下载http://central.maven.org/maven2/com/mcxiaoke/volley/library/1.0.19/library-1.0.19.jar
Volley中的RequestQueue 和 Request
RequestQueue用来执行请求的请求队列Request用来构造一个请求对象Request对象主要有以下几种类型:StringRequest响应的主体为字符串JsonArrayRequest发送和接收JSON数组JsonObjectRequest发送和接收JSON对象ImageRequest发送和接收Image
Volley的基本使用
首先我们需要创建一个RequestQueue requestQueue,然后构建一个自己所需要的XXRequest req,之后通过requestQueue.add(req);将请求添加至请求队列;
构建一个RequestQueue
RequestQueue requestQueue=Volley.newRequestQueue(this);//这里的this指的是Context
创建一个Request(以JsonObjectRequest为例)
private final String url="http:/xxxxx"//所需url
JsonObjectRequest req=new JsonObjectRequest(url,null,new Response.Listener<JsonObject>(){
@Override
public void onResponse(JsonObject response){
//添加自己的响应逻辑,
}
},
new ResponseError.Listener(){
@Override
public void onResponseError(VollerError error){
//错误处理
L.d("Error Message:","Error is"+error);
}
});
将req添加到requestQueue
在构建JsonObjectRequest对象时,需要四个参数,其中第二个参数代表http方法,第三个和第四个分别是响应监听和响应错误监听,分别需要覆写onResponse()和onResponseError()方法;RequestQueue将会执行请求,并将响应回调onResponse()方法,所以需要在onResponse()方法中实现自己的业务逻辑
参考资料 :http://blog.csdn.net/qwm8777411/article/details/45770979
http://www.kwstu.com/ArticleView/kwstu_20144118313429
Android Volley 框架的使用(一)的更多相关文章
- Android Volley框架的使用(1)
在Android开发中,经常要通过HTTP请求访问网络.为了使通过HTTP请求访问网络的过程更加简单,2013年提出了新的HTTP通信框架--Volley.Volley使用起来非常简单,适用于网络访问 ...
- Android Volley框架的使用(三)
此博文源码下载地址 https://github.com/Javen205/VolleyDemo.git Image Request 为了更方便的使用Volley中的图片请求,我们同样先在Voll ...
- Android Volley框架的使用(二)
此博文源码下载地址 https://github.com/Javen205/VolleyDemo.git 使用请求队列RequestQueue Volley中的Request都需要添加到Reque ...
- Android Volley框架的使用(四)图片的三级缓存策略(内存LruCache+磁盘DiskLruCache+网络Volley)
在开发安卓应用中避免不了要使用到网络图片,获取网络图片很简单,但是需要付出一定的代价——流量.对于少数的图片而言问题不大,但如果手机应用中包含大量的图片,这势必会耗费用户的一定流量,如果我们不加以处理 ...
- 035 Android Volley框架进行网络请求
1.volley入门介绍 开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android系统中主要提供了两种方式来进行HTTP通 ...
- Android Volley框架的几种post提交请求方式
首先简单描述一下Google的Android开发团队在2013年推出的一个网络通信框架Volley.它的设计目标是进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如下载文件等,Vol ...
- Android Volley框架的使用(3)
4. 加载图片 在实际应用中,经常需要从网络上下载并显示图片.Volley也提供了从网络下载图片的几种方法,这里主要介绍两种方法:ImageRequest和ImageLoader. (1) Image ...
- Android Volley框架的使用(2)
3. 设置请求类型和参数 Volley默认的请求类型是GET,如果需要用POST,可以在构造函数中进行设置.设置参数可以通过重写getParams()方法来实现. private void postR ...
- Android Volley框架的使用(5)
6. 设置超时时间 可以为请求设置超时时间.最大重试次数.重试时间增长因子等.其中new DefaultRetryPolicy()的第一个参数是超时时间,第二个参数是最大重试次数.第三个参数是重试时间 ...
随机推荐
- 【crunch bang】 tint2-用来控制桌面的布局
tint2配置: #--------------------------------------------- # TINT2 CONFIG FILE #----------------------- ...
- web标准
仔细看看所有的前端招聘要求,几乎所有的都要求对web标准有深刻的理解. web标准,是一系列标准的集合.对前端来说,因为网页是由结构.表现和行为组成.对应的就有结构化标准语言,主要包括XHTML和XM ...
- 为什么在我眼里你是一只傻逼——傻逼“常所用”句型之(2)——“当当网的就有XXX人评论,YYY%的推荐”
A:这东西里面尽是大粪. B:这东西当当网的就有325人评论,98.8%的推荐.京东的整体评论是五星,37人评价,31人给好评,1人差评,5人中评:亚马逊有6条好评,1条中评. http://news ...
- android记住密码和自动登陆
import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences ...
- COM编程之五 动静态链接
[1]静态链接 静态链接是指由链接器在链接时将库的内容加入到可执行程序中的做法. 链接器是一个独立程序,将一个或多个库或目标文件(先前由编译器或汇编器生成)链接到一块生成可执行程序. 函数和数据被编译 ...
- Linux下串口编程【转】
本文转载自:http://blog.csdn.net/w282529350/article/details/7378388 /************声明:本人只是见到这篇文章对我帮助很大才转载的,但 ...
- PHP array_count_values() 函数用于统计数组中所有值出现的次数。
定义和用法 array_count_values() 函数用于统计数组中所有值出现的次数. 本函数返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数. 语法 array_count ...
- 模拟http响应头
1.打开需要模拟的页面请求头 2.编码要发送的数据 3.通过fsockopen函数发送请求头 代码如下 //方法二 $URL="http://device.test.com/admin/ma ...
- VI 命令简介
1.打开一个文件 vi 文件路径 2.命令模式转换 输入模式 i 命令模式 esc 3.复制 和 粘贴 1)将光标移动到将要复制的行处,按yy进行复制当前行(按nyy复制n行),再移动到粘贴位 ...
- Code(组合数学)
Code Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 8766 Accepted: 4168 Description Tran ...