您的位置:首页 > 其它

Volley框架的初步理解(一)

2016-01-15 14:25 281 查看
一、前言

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: