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数据请求

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