Volley基本用法
阿新 • • 發佈:2019-05-03
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的用法
- RequestQueue是一個請求隊列對象,它可以緩存所有的HTTP請求,然後按照一定的算法並發地發出這些請求,內部設計是高並發
RequestQueue mQueue = Volley.newRequestQueue(context);//獲取RequestQueue對象
- 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基本用法