Volley数据请求

作者: ReturnYHH | 来源:发表于2016-08-11 16:47 被阅读39次

Volley框架相信大家都比较熟悉,网上资料一大堆,这就不详细讲解了

Volley用途

现在网络框架那么多,我们在什么时候用Volley比较合适呢?当你APP请求的数据量不大,网络请求次数频繁时,需要加载大量图片时都可以用Volley,当然,也可以用其他的图片加载框架,不过Volley也封装了图片加载,所以就不必要用其他的图片加载框架,用Volley框架时,可以去下载,这里不多说,网上资料有

使用:请求都有一个通用的过程,就是需要创建请求队列对象并且添加到队列

(创建请求队列)
RequestQueue mQueue = Volley.newRequestQueue(context);
(添加到队列)
mQueue.add(xxxRequest);

一、StringRequest:字符串请求(返回String数据)

1.创建StringRequest对象
StringRequest stringRequest = new StringRequest("请求的地址", new Response.Listener<String>() { @Override public void onResponse(String response) { Log.e("TAG", response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e("TAG", error.getMessage(), error); } });
第一个参数是请求的地址,第二个参数是成功返回的数据,第三参数是错误的回调
2.绑定对象
mQueue.add(stringRequest);
这样,一个最简单的String请求就完成了,如果你服务器返回的是String类型的,就用这种请求吧,但这种方式默认是用GET请求,如果需要POST请求,如下,步骤是一样的,只不过把StringRequest的参数改改
StringRequest stringRequest = new StringRequest(Method.POST, url, listener, errorListener) { @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String, String> map = new HashMap<String, String>(); map.put("params1", "value1"); map.put("params2", "value2"); return map; } };
第一个参数是请求的方法,不指定的话默认是GET请求,第二个是请求的地址,第三个是成功回调,第四个是错误回调,我们在做POST请求时候,可以通过Map设置好请求的数据,然后再绑定就可以完成POST请求

二、JsonRequest:JSON请求(返回JSON数据)

JsonRequest是个抽象类,没办法直接创建实例使用,所以我们需要用到它的子类JsonObjectRequest和JsonArrayRequest,顾名思义,一个返回JSON对象,一个返回JSON数组,我们来看看怎么用

JsonObjectRequest:

1.创建JsonObjectRequest对象:
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest( "请求的地址", null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { Log.d("TAG", response.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e("TAG", error.getMessage(), error); } });
第一个参数是请求地址,第二个参数是请求的JsonObject对象,如果我们不需要向服务器提供这个对象,就设为null,第三第四分别就是成功和失败的回调了
2.绑定对象
mQueue.add(jsonObjectRequest );
同理,JsonArrayRequest也是这样使用

这样,Volley的请求就完成了

相关文章

  • Volley数据请求

    Volley框架相信大家都比较熟悉,网上资料一大堆,这就不详细讲解了 Volley用途 现在网络框架那么多,我们在...

  • Volley笔记--扩展

    Volley的自定义请求: GsonRequest 上一节 中写道, 可以利用Volley来获取网络Json数据,...

  • 7.网络框架

    概念 retrofit、android-async-http、volley,帮你封装了具体的请求,线程切换以及数据...

  • Android异步网络请求框架-Volley

    Android 异步网络请求框架-Volley 1. 功能介绍 1.1. Volley Volley 是 Goog...

  • 关于volley的源码与扩展分享(二)

    一些关于volley分享扩展分享 volley基本用法、具体如何请求数据本文不做解释,本次目的是一起尝试如何扩展一...

  • (二十一)Volley框架面试问题

    一、Volley使用简介 Volley是谷歌官方推出的网络请求框架,适合数据量小但通信频繁的网络操作。 1.首先需...

  • Volley简单用法

    volley是当前Android中比较常用的网络请求框架。 volley请求如同我们常用的http请求方式一样同样...

  • 3、volley 官方教程-建立一个请求队列

    文章摘要1、volley 网络请求队列和缓冲请求队列2、volley 单例模式 英文文献 一、设定网络请求队列和缓...

  • 关于volley的源码与扩展分享(一)

    一些关于volley分享 扩展分享关于volley基本用法、具体如何请求数据本文不做解释,本次目的是一起共同学习v...

  • Volley和Picasso的比较

    参考 (1)对请求对象的封装不同。 Volley:在Volley中,请求会直接封装在Reqeust当中Picass...

网友评论

    本文标题:Volley数据请求

    本文链接:https://www.haomeiwen.com/subject/slajsttx.html