Volley简单使用及用法
来源:互联网 发布:深圳赛维网络怎么样 编辑:程序博客网 时间:2024/06/02 18:54
Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient。
Volley它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕。
Volley特点
自动调度网络请求
多个并发的网络连接
通过使用标准的HTTP缓存机制保持磁盘和内存响应的一致
支持请求优先级
支持取消请求的强大API,可以取消单个请求或多个
易于定制
健壮性:便于正确的更新UI和获取数据
包含调试和追踪工具
Volley中的RequestQueue 和 Request
RequestQueue 用来执行请求的请求队列
Request 用来构造一个请求对象
Request对象主要有以下几种类型:
StringRequest 响应的主体为字符串
JsonArrayRequest 发送和接收JSON数组
JsonObjectRequest 发送和接收JSON对象
ImageRequest 发送和接收Image
Method 指定请求方法
RequestQueue queue = Volley.newRequestQueue(this);//拿到context对象
注意这里拿到的RequestQueue是一个请求队列对象,它可以缓存所有的HTTP请求,然后按照一定的算法并发地发出这些请求。RequestQueue内部的设计就是非常合适高并发的,因此我们不必为每一次HTTP请求都创建一个RequestQueue对象,这是非常浪费资源的,基本上在每一个需要和网络交互的Activity中创建一个RequestQueue对象就足够了。
请求String字符串步骤:
1. 创建一个RequestQueue对象。
2. 创建一个StringRequest对象。
3. 将StringRequest对象添加到RequestQueue里面。
StringRequest request = newStringRequest(url, listener, errorListener)
StringRequest request = newStringRequest(method, url, listener, errorListener)
1、method:指定请求方式
2、url:请求的url
3、listener:请求成功的接口回调
4、errorListener:请求失败的接口回调
StringRequest request = new StringRequest(Method.GET,"http://blog.csdn.net/chen364567628",
newResponse.Listener<String>() {
@Override
publicvoid onResponse(String response) {
//请求成功
}
}, newResponse.ErrorListener() {
@Override
publicvoid onErrorResponse(VolleyError error) {
//请求失败
}
});
queue.add(request);//添加到请求队列
JsonRequest的用法
类似于StringRequest,JsonRequest也是继承自Request类的,不过由于JsonRequest是一个抽象类,因此我们无法直接创建它的实例,那么只能从它的子类入手了。JsonRequest有两个直接的子类,JsonObjectRequest和JsonArrayRequest。
public abstractclass JsonRequest<T> extends Request<T>
JsonObjectRequest jsonRequest = new JsonObjectRequest(url,jsonRequest, listener, errorListener)
JsonObjectRequest jsonRequest = new JsonObjectRequest(method, url,jsonRequest, listener, errorListener)
1、method:指定请求方式
2、url:请求的url
3、jsonRequest:
4、listener:请求成功的接口回调
5、errorListener:请求失败的接口回调
JsonObjectRequest jsonRequest = newJsonObjectRequest(Method.GET, "http://blog.csdn.net/chen364567628",
null,
newResponse.Listener<JSONObject>() {
@Override
publicvoid onResponse(JSONObject response) {
}
},new Response.ErrorListener() {
@Override
publicvoid onErrorResponse(VolleyError error) {
}
});
queue.add(jsonRequest);
同理:JsonArrayRequest arrayRequest = new JsonArrayRequest(url,listener, errorListener)
ImageRequest的用法
mageRequest imageRequest = newImageRequest(url, listener, maxWidth, maxHeight, decodeConfig,errorListener)
1、url:请求的url
2、listener:请求成功的接口回调
3、maxWidth:此位图的最大宽度为,或为零
4、maxHeight:此位图的最大高度为,或为零
5、decodeConfig:格式化位图的格式
6、errorListener:请求失败的接口回调
ImageRequest imageRequest = newImageRequest("http://blog.csdn.net/chen364567628",
newResponse.Listener<Bitmap>() {
@Override
publicvoid onResponse(Bitmap response) {
//TODO Auto-generated method stub
}
},0, 0, Config.RGB_565,new Response.ErrorListener() {
@Override
publicvoid onErrorResponse(VolleyError error) {
//TODO Auto-generated method stub
}
});
queue.add(imageRequest);
- Volley简单使用及用法
- Volley及FastJson的简单使用
- Volley的简单用法
- Android Volley网络通信框架的使用(一):Volley的简单用法
- volley的简单使用
- Volley的简单使用
- Volley 简单使用
- Volley的简单使用
- volley的简单使用
- Volley简单的使用
- Volley的简单使用
- Volley的简单使用
- Volley简单使用一
- Volley简单的使用
- Volley的简单使用
- Volley的简单使用
- Volley框架的简单用法
- Android Volley使用之一:Volley基础用法
- 数据结构--KMP简单应用
- Linux下源码包安装python3
- 新环境中奋起的岁月(三)
- C# 委托详解(一)
- JAVA 事件机制(转)
- Volley简单使用及用法
- web的工作原理
- 开启新篇章
- 差分信号线的定义和优点
- 第九周OJ——切面条
- C#之BF算法
- 【SPFA】洛谷1144 最短路计数
- 操作系统(一) 进程管理
- 【NOIP 2012 Day1 T1】Vigenère密码(模拟)