Volley Post網絡請求

/*post請求*/public void dostringVolleypost(){    /*第一步,建立請求隊列*/    queue = Volley.newRequestQueue(this);    /*第二步,建立請求對象*/    StringRequest stringRequest = new StringRequest(            Request.Method.POST,           //當改爲post方法時:Request.Method.POST            "http://apis.baidu.com/txapi/tiyu/tiyu?num=10",            new Response.Listener<String>() {                @Override                public void onResponse(String response) {                    String s = response;                    webView.getSettings().setJavaScriptEnabled(true);                    webView.getSettings().setDefaultTextEncodingName("UTF-8");                    webView.loadDataWithBaseURL(null,s,"text/html","UTF-8",null);                }            },            new Response.ErrorListener() {                @Override                public void onErrorResponse(VolleyError error) {                    webView.loadDataWithBaseURL(null,"網絡請求失敗","text/html","UTF-8",null);                }            }    ){   //經過匿名內部類的方式實現post方法存儲參數,其它的與get方法相同        @Override        protected Map<String, String> getParams() throws AuthFailureError {            Map<String,String> map = new HashMap<String, String>();            map.put("name","ZhangSan");            map.put("pwd","123456");            return map;        }        /*getHeaders匿名內部類,獲取頭部,即獲取apikey,對get方法和post方法都適用*/        @Override        public Map<String, String> getHeaders() throws AuthFailureError {            Map<String,String> map = new HashMap<String, String>();            map.put("apikey","96c52acc3831b95cf4a5c6f0e23ea209");            return map;        }        /*重寫方法,完成轉碼*/        @Override        protected Response<String> parseNetworkResponse(                NetworkResponse response) {            try {                String jsonObject = new String(new String(response.data, "UTF-8"));                return Response.success(jsonObject, HttpHeaderParser.parseCacheHeaders(response));            } catch (UnsupportedEncodingException e) {                return Response.error(new ParseError(e));            } catch (Exception je) {                return Response.error(new ParseError(je));            }        }        /*設置當前請求的優先級*/        @Override        public Priority getPriority() {            return Priority.HIGH;        }    };    stringRequest.setTag("post");    /*第三步,把請求對象放在請求隊列*/    queue.add(stringRequest);}@Overrideprotected void onStop() {    super.onStop();    queue.cancelAll("get");/*取消當前隊列裏的Tag爲get的請求*/    queue.cancelAll(this);/*取消當前隊列裏的全部網絡請求*/}
相關文章
相關標籤/搜索