在 Android ,Volley 中,如何传递单个字符串参数并接收字符串结果?

In Android ,Volley , How to pass a single string Parameter and receive a string result?

想要发送单个参数并接收一个字符串类型的结果,但它不起作用。

我在浏览器中用这个 Url 测试了我的 RESTfull API,它工作正常:

http://192.168.1.20:88/Home/testme?a=abc

但是当想在 Android Studio(Java 语言)中使用它时,它不起作用并且异常消息为空。 在阅读了一些帖子 like this 后,我很困惑是否应该使用 JSON 类型发送? 如果是,为什么?

String url = "http://192.168.1.20:88/Home/testme";
RequestQueue queue = Volley.newRequestQueue(RegisterActivity.this);
StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        tVMessage.setText(response);
                    }
                }, new Response.ErrorListener() {
                   @Override
                    public void onErrorResponse(VolleyError error) {
                              tVMessage.setText("That didn't work!"+error.getMessage());
                    }
        }){
            @Override
            protected  Map<String,String> getParams() {
                Map<String,String> params = new HashMap<String, String>();
                params.put("a","test value");
                return params;
            }

           @Override
            public  Map<String,String> getHeaders() {
               Map<String,String> params = new HashMap<String, String>();
               params.put("Content-Type","application/x-www-form-urlencoded");
                return params;
            }
        };
        queue.add(stringRequest);

我认为您使用的是 GET 请求,而不是 POST

所以只需将 URL 更改为这个

String url = "http://192.168.1.20:88/Home/testme?a=abc";

并将Request.Method.POST更改为Request.Method.GET

您需要将 url 更改为:

String url = "http://192.168.1.20:88/Home/testme?a=abc";

因为是GET请求,getParams()函数只用在POST请求