Volley提供的功能 简单来说,它提供了如下的便利功能:
- JSON,图像等的异步下载;
- 网络请求的排序(scheduling)
- 网络请求的优先级处理
- 缓存
- 多级别取消请求
- 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)
Volley到底有哪些特点呢?
- 自动调度网络请求
- 多个并发的网络连接
- 通过使用标准的HTTP缓存机制保持磁盘和内存响应的一致
- 支持请求优先级
- 支持取消请求的强大API,可以取消单个请求或多个
- 易于定制
- 健壮性:便于正确的更新UI和获取数据
- 包含调试和追踪工具
//volley的get请求:
private void volleyGet() {
String url = Contant.Url + "?" + Contant.params;
StringRequest request = new StringRequest(Method.GET, url,
new Listener<String>() {
public void onResponse(String arg0) {
Log.e("", " arg 0 = " + arg0);
}
}, new Response.ErrorListener() {
public void onErrorResponse(VolleyError arg0) {
Log.e("", "onErrorResponse arg0 = " + arg0.toString());
}
});
request.setTag("abc");
MyApp.getHttpQueue().add(request);
}
//volley的post请求:
<span style="font-family: Arial, Helvetica, sans-serif;">public void volleyPost() {</span>
String url = Contant.Url;
Map<String, String> params = new HashMap<String, String>();
params.put("subject", "1");
params.put("model", "c1");
params.put("testType", "");
params.put("key", "08b71a6e8398e19496629d830527d543");
Request<JSONObject> request = new NormalPostRequest(url,
new Listener<JSONObject>() {
public void onResponse(JSONObject arg0) {
Log.i("", "--------volleyPost arg0=" + arg0);
}
}, new ErrorListener() {
public void onErrorResponse(VolleyError arg0) {
}
}, params);
MyApp.getHttpQueue().add(request);
}