volley post非json格式数据并获取json数据

在使用JsonObjectRequest时无法post非json格式的数据,因而采用StringRequest获取到相应的数据后再转为json格式的数据。

volley post非json格式数据并获取json数据
//这里的上下文需要讨论
private static RequestQueue mRequestQueue = Volley.newRequestQueue(Global.getContext());

public interface IResponse{
    void subscribeData(Object data);
}

/**Post方式从网络获取数据 */
    public static void postDataFromNet(final IResponse iResponse, String url, final HashMap<String,String> map){
        StringRequest request = new StringRequest(
            Request.Method.POST,
            url,
            new Response.Listener<String>() {

                @Override
                public void onResponse(String response) {
                    try {
                        iResponse.subscribeData(new JSONObject(response));           //将数据返回
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            },
            new Response.ErrorListener() {

                @Override
                public void onErrorResponse(VolleyError volleyError) {
                    Log.e("#StringRequest:Error#", volleyError.getMessage());
                }
            }){

            @Override
            public Map<String, String> getHeaders() throws AuthFailureError {
                Map<String,String> header = new HashMap<>();
                header.put("token", "9FOYT495E6BCFLOKYE36F8C618533C3E");
                return header;
            }

            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                return map;
            }
        };
        request.setTag(""+url);
        mRequestQueue.add(request);
    }
volley post非json格式数据并获取json数据







本文转自秋楓博客园博客,原文链接:http://www.cnblogs.com/rwxwsblog/p/5448530.html,如需转载请自行联系原作者
上一篇:netstat查看系统连接数及当前连接IP


下一篇:最近做了个数据采集的工具