Volley StringRequest 发送参数POST 方法

Volley StringRequest send parameters POST method

class test2 : AppCompatActivity(){

 override fun onCreate(savedInstanceState: Bundle?)
 {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_test2)
    connect()

 }

 fun connect(){
    val queue = Volley.newRequestQueue(this)
    val url = "https://www.example.com/Register.php"
    val params = HashMap<String,String>()
    params["abc"] = "parm1"
    params["def"] = "parm2"
    params["ghi"] = "parm3"

    val stringRequest = StringRequest(Request.Method.POST, url,
        Response.Listener<String> { response ->
            text_test.text = "Response is: $response"
        },
        Response.ErrorListener { text_test.text = "That didn't work! " })
    queue.add(stringRequest)
  }
}

参数应为"param1=data1&param2=data2&param3=data3"格式

我可以使用 form-data 在邮递员中发送数据

知道如何从我的代码发送数据吗?

真的请帮帮忙这是我第二次问

这是邮递员的图片https://ibb.co/SQgG72W

您必须覆盖 getParams 方法。因为你可以传递你想要发送到服务器的参数

StringRequest sr = new StringRequest(Request.Method.POST, "http://headers.jsontest.com/",
  new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {
      Log.e("HttpClient", "success! response: " + response.toString());
    }
  },
  new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
      Log.e("HttpClient", "error: " + error.toString());
    }
  })
  {
    @Override
    protected Map<String,String> getParams(){
      Map<String,String> params = new HashMap<String, String>();
      params.put("user","YOUR USERNAME");
      params.put("pass","YOUR PASSWORD");
      return params;
    }
  };