RequestQueue queue= Volley.newRequestQueue(context);
Get請求json
StringRequest request = new StringRequest( "http://www.baidu.com/", new Response.Listener<String>() { @Override public void onResponse(String arg0) { //收到成功應答後會觸發這裏 } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { //出現鏈接錯誤會觸發這裏 } } );
Post 請求緩存
StringRequest request = new StringRequest( Request.Method.POST, "http://xxx.xxx.xxx", new Response.Listener<String>() { @Override public void onResponse(String s) { } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { } } ) { @Override public Map<String, String> getHeaders() throws AuthFailureError { //設置頭信息 Map<String, String> map = new HashMap<String, String>(); map.put("Content-Type", "application/x-www-form-urldecoded"); return map; } @Override protected Map<String, String> getParams() throws AuthFailureError { //設置參數 Map<String, String> map = new HashMap<String, String>(); map.put("name", "王雪豬"); map.put("password", "123456"); return map; } /** * 能夠對返回的reponse作處理, NetworkResponse裏面包括狀態碼,頭信息,內容數據,是否緩存在本地,花費的時間(ms)等內容 **/ @Override protected Response<String> parseNetworkResponse( NetworkResponse response) { // 好比下面的例子是取頭信息裏的cookie數據 /* * String mCookie; * for (String s : response.headers.keySet()) { * if (s.contains("Set-Cookie")) { mCookie = * response.headers.get(s); break; } } */ return super.parseNetworkResponse(response); } };
能夠經過複寫裏面的方法把數據給傳進去服務器
JsonObjectRequest request = new JsonObjectRequest( "http://xxx.xxx.xx", jsonObject, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject jsonObject) { } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { } } ) { @Override public Map<String, String> getHeaders() throws AuthFailureError { Map<String, String> map = new HashMap<String, String>(); map.put("Cookie", mCookie); return map; } };
最後只要再把成功監聽器裏拿到的數據處理就能使用了。
post傳到服務器上時已是json格式,接着在服務器裏處理,返回的也要是json格式的數據,不然會致使數據錯誤(沒法轉化成JSONObject格式)。cookie