Volley框架的初步理解(一)
2016-01-15 14:25
281 查看
一、前言
Volley框架它非常适合去进行数据量不大,但是通信频繁的网络操作,而对于下载文件、处理大图片等,Volley是不太适合的。
二、初始化请求对象——-RequestQueue
public class MainApplication extends Application {
private static MainApplication mainApplication;
private RequestQueue requestQueue;
Http操作,既有请求也有响应,RequestQueue是一个请求队列,它可以缓存所有的HTTP请求,然后按照一定的算法并发的发送请求。RequestQueue内部是高并发的,所以我们不用每有一个请求,就创建一个RequestQueue队列。所以我把它写在Application里,用单例模式简历了这个对象。MainApplication.getMainApplication().getRequestQueue()就可以得到这个RequestQueue队列。
三、使用StringRequest接收String类型的响应
3.1 初始化
有了请求对象,我们还需要有一个响应对象。Volley框架有许多响应类型的对象,StringRequest接收到的响应对象就是String类型的。
public StringRequest(int method, String url, Response.Listener listener, Response.ErrorListener errorListener) {
super(method, url, listener, errorListener);
}
这是StringRequest的两个构造函数,一个在参数里传入了method方法,可以进行设置post和get方法,而没有设置这个参数的默认执行Get方法。
参数说明:
url:请求的地址
listener:响应成功的监听器
errorListener:出错时的监听器
3.2 设置监听
StringRequest request=new StringRequest(“http://baidu.com“, new
Response.Listener() {
@Override
public void onResponse(String s) {
Toast.makeText(this, “连接成功!”,Toast.LENGTH_SHORT).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Toast.makeText(this, “连接失败!”,Toast.LENGTH_SHORT).show();
}
}
});
四、执行请求:
执行请求,就是把响应对象添加到请求队列就可以了。
MainApplication.getMainApplication().getRequestQueue().add(request);
Volley框架它非常适合去进行数据量不大,但是通信频繁的网络操作,而对于下载文件、处理大图片等,Volley是不太适合的。
二、初始化请求对象——-RequestQueue
public class MainApplication extends Application {
private static MainApplication mainApplication;
private RequestQueue requestQueue;
@Override public void onCreate() { super.onCreate(); mainApplication = this; requestQueue = Volley.newRequestQueue(this); } public static MainApplication getMainApplication() { return mainApplication; } public RequestQueue getRequestQueue() { return requestQueue; } }
Http操作,既有请求也有响应,RequestQueue是一个请求队列,它可以缓存所有的HTTP请求,然后按照一定的算法并发的发送请求。RequestQueue内部是高并发的,所以我们不用每有一个请求,就创建一个RequestQueue队列。所以我把它写在Application里,用单例模式简历了这个对象。MainApplication.getMainApplication().getRequestQueue()就可以得到这个RequestQueue队列。
三、使用StringRequest接收String类型的响应
3.1 初始化
有了请求对象,我们还需要有一个响应对象。Volley框架有许多响应类型的对象,StringRequest接收到的响应对象就是String类型的。
public StringRequest(int method, String url, Response.Listener listener, Response.ErrorListener errorListener) {
super(method, url, listener, errorListener);
}
public StringRequest(String url, Response.Listener<String> listener, Response.ErrorListener errorListener) { super(url, listener, errorListener); }
这是StringRequest的两个构造函数,一个在参数里传入了method方法,可以进行设置post和get方法,而没有设置这个参数的默认执行Get方法。
参数说明:
url:请求的地址
listener:响应成功的监听器
errorListener:出错时的监听器
3.2 设置监听
StringRequest request=new StringRequest(“http://baidu.com“, new
Response.Listener() {
@Override
public void onResponse(String s) {
Toast.makeText(this, “连接成功!”,Toast.LENGTH_SHORT).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Toast.makeText(this, “连接失败!”,Toast.LENGTH_SHORT).show();
}
}
});
四、执行请求:
执行请求,就是把响应对象添加到请求队列就可以了。
MainApplication.getMainApplication().getRequestQueue().add(request);
相关文章推荐
- 【第十一章】 SSH集成开发积分商城 之 11.2 实现通用层 ——跟我学spring3
- WCF 双工模式
- Dplasma调度方式——DAGUE_SCHEDULER_LFQ(Local Flat Queues)
- linux 源码安装lnmp+memcache(问题纠正整理)
- Hybris new extension
- jQuery + JavaScript 实现的动态添加文本框功能 和 动态删除文本框功能(二)
- 2416开发记录六: s3c2410_gpio_setpin()系列函数
- 记录为我所用的链
- hive组件二次开发之HiveF
- 安装universal-ctags
- UIKit: UIResponder(转自南峰子博客)
- 批量ssh执行命令
- 数据库删除重复数据
- 批量ssh执行命令
- 职业生涯管理系统 servlet+javabean+mysql(三)登陆的实现
- 菜鸟之路-浅谈设计模式之原型模式
- NSMutableAttributedString,图文混排,字号变换,颜色变换
- 第一章 rsyslog整体架构
- error:LNK2005 已经在*.obj中定义
- 非对称加密算法-DH算法