1. 程式人生 > >Volley基本用法

Volley基本用法

req com work lur @override 參數 獲取request 目標 url

下載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的用法

Volley基本用法