Volley框架的初步理解(一)

一、前言
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);

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值