Android的volley请

来源:互联网 发布:含金量高的证书 知乎 编辑:程序博客网 时间:2024/06/08 12:40

Volley提供的功能  简单来说,它提供了如下的便利功能:

  1. JSON,图像等的异步下载;
  2. 网络请求的排序(scheduling)
  3. 网络请求的优先级处理
  4. 缓存
  5. 多级别取消请求
  6. 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)


Volley在不同的线程上异步执行所有请求而避免了阻塞主线程



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);}


0 0