Android网络框架

Volley数据请求

2016-08-11  本文已影响39人  ReturnYHH

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的请求就完成了

上一篇下一篇

猜你喜欢

热点阅读