Volley但是說是把AsyncHttpClient和Universal-Image-Loader的優勢集於了一身,既能夠像AsyncHttpClient同樣很是簡單地進行HTTP通訊,也能夠像Universal-Image-Loader同樣輕鬆加載網絡上的圖片。它的設計目標就是很是適合去進行數據量不大,但通訊頻繁的網絡操做,而對於大數據量的網絡操做,好比說下載文件等,Volley的表現就會很是糟糕。
簡單來講,它提供了以下的便利功能:數組
JSON,圖像等的異步下載;緩存
網絡請求的排序(scheduling)網絡
網絡請求的優先級處理框架
緩存異步
多級別取消請求ide
和Activity和生命週期的聯動(Activity結束時同時取消全部網絡請求)NetWorkImageViewpost
get方式:大數據
RequestQueue mQueue = Volley.newRequestQueue(context); 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()); } }); mQueue.add(stringRequest);
post方式:url
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; } };
JsonRequest還有兩個子類,JsonObjectRequest和JsonArrayRequest,一個是用於請求一段JSON數據的,一個是用於請求一段JSON數組的。設計