Volley基本用法

下载Volley

git clone https://android.googlesource.com/platform/frameworks/volley

AndroidManifest.xml中添加如下权限:

<uses-permission android:name="android.permission.INTERNET" />

StringRequest的用法

  1. RequestQueue是一个请求队列对象,它可以缓存所有的HTTP请求,然后按照一定的算法并发地发出这些请求,内部设计是高并发
RequestQueue mQueue = Volley.newRequestQueue(context);//获取RequestQueue对象
  1. StringRequest对象,StringRequest的构造函数需要传入三个参数,第一个参数就是目标服务器的URL地址,第二个参数是服务器响应成功的回调,第三个参数是服务器响应失败的回调。
StringRequest stringRequest = new StringRequest("http://www.baidu.com",
                        new Response.Listener<String>() {
                            @Override
                            public void onResponse(String response) {
                                Log.d("TAG", response);
                            }
                        }, new Response.ErrorListener() {
                            @Override
                            public void onErrorResponse(VolleyError error) {
                                Log.e("TAG", error.getMessage(), error);
                            }
                        });
StringRequest stringRequest = new StringRequest(Method.POST, url,  listener, errorListener);
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;
    }
};

3.将这个StringRequest对象添加到RequestQueue里面

mQueue.add(stringRequest);

JsonRequest的用法

JsonRequest继承自Request类的,JsonRequest是一个抽象类,因此我们无法直接创建它的实例。JsonRequest有两个直接的子类,JsonObjectRequest和JsonArrayRequest,一个是用于请求一段JSON数据的,一个是用于请求一段JSON数组的。

new出一个JsonObjectRequest对象

JsonObjectRequest jsonObjectRequest = new JsonObjectRequest("http://m.weather.com.cn/data/101010100.html", 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);
            }
        });

ImageRequest的用法

猜你喜欢

转载自www.cnblogs.com/lyszyl/p/10805647.html