Android Volley Post String和Get JSONArray

时间:2016-07-15 19:16:06

标签: php android android-volley

如何使用Android中的Volley库将字符串发布到PHP Web服务器并获取JSONArray作为响应。  以下是我想要回复的代码。 我如何发布字符串并使用此函数获取JSONArray

如果有效,请参阅此代码

JsonArrayRequest(Method.POST,Config.VIEW_PROFILE_URL,
                new Response.Listener<JSONArray>() {
                    @Override
                    public void onResponse(JSONArray response) {
                        //calling method to parse json array
                        parseData(response);
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError arg0) {
                        // TODO Auto-generated method stub

                    }
                }){

            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> params = new HashMap<>();
                params.put("user_name", user);
                return params;
            }
        };
          MySingleton.getInstance(this).addToRequestQueue(jsonArrayRequest);
        }

//并在服务器上接收

$ username = $ _ POST [“user_name”];

2 个答案:

答案 0 :(得分:1)

在请求中使用getParams()方法将参数发送到服务器
你也可以在url之后将字符串设置为body:

  JsonArrayRequest request = new JsonArrayRequest(Request.Method.POST, "url", "you can send a string here as body", new Response.Listener<JSONArray>() {
        @Override
        public void onResponse(JSONArray response) {
            // parse your json array 
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            // handle errors here
        }
    }) {
        @Override
        protected Map<String, String> getParams() {   // send parameters here
            Map<String, String> params = new HashMap<>();
            params.put("key1", "value1");
            // add other parameters
            return params;
        }
    };
    MySingleton.getInstance(this).addToRequestQueue(request);

答案 1 :(得分:0)

按照这里link你可以理解解析技术JSONArray和JSONObject。

另一件事是POST到服务器,它取决于您的API,使用参数和标头,或者通过StringRequest使用带键值的URL连接。