无法添加Volley参数

时间:2017-10-25 11:18:24

标签: android

我无法完成它......

我需要使用Volley库下载json,我需要将内部标题和正文放在POST参数中:

            usr = "example@ciao.com";
            pwd = "123Prova!";

            String url = "http://localhost:8080/...";

            RequestQueue queue = Volley.newRequestQueue(getApplicationContext());

            JsonObjectRequest jsonRequest = new JsonObjectRequest(Request.Method.POST, url, null, new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {

                    Log.i("VOLLEY", response.toString());
                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {

                    Log.e("VOLLEY", error.toString());
                    Toast.makeText(MainActivity.this, "qualche errore", Toast.LENGTH_LONG).show();

                }
            }){
                @Override
                public Map<String, String> getHeaders() {

                    Map<String, String> params = new HashMap<>(); 
                    params.put("Content-Type", "application/json; charset=utf-8");
                    params.put("wellu-client-id", "a056fe5c-1dac-4c12-8b57-8189e45c0b58");

                    return params;
                }

                @Override
                public Map<String, String> getParams() {

                    Map<String, String> params = new HashMap<>(); 
                    params.put("email", usr);
                    params.put("password", pwd);

                    return params;
                }
            };

            Volley.newRequestQueue(getApplicationContext()).add(jsonRequest);

此参数适用于Postman Chrome应用程序...但这里带我进入.ErrorListener()并且我真的不知道为什么:(

弗朗西斯

2 个答案:

答案 0 :(得分:0)

您应该将服务器的地址(IP)设置为localhost(android设备中的localhost本身,而不是服务器)

String url = "http://localhost:8080/...";

因此,将localhost部分更改为服务器的ip地址,并确保服务器和Android设备连接到同一网络。

答案 1 :(得分:0)

或者替代功能 public byte[] getBody()发送数据。但是您必须更改后端代码