0

I have to make json array request with the following request paramatetrs.

[
  "Login",
  {
    "password": "",
    "username": "",
    "ip": "12.123.124.12",
    "login_type": "Android"
  }
]

I use volley to make post request. In volley, if we have to make jsonarrayrequest, we do something like the following,

  JsonArrayRequest req = new JsonArrayRequest(Constants.requestUrl,
                new Response.Listener<JSONArray>() {
                    @Override
                    public void onResponse(JSONArray response) {
                        Toast.makeText(getApplicationContext(),response.toString(),Toast.LENGTH_SHORT).show();
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                VolleyLog.d(TAG, "Error: " + error.getMessage());
                pDialog.hide();
            }
        });

The problem is that, How can I ever be able to insert my request parameters in the above code snippet. In case of JsonObjectRequest, we have provision to insert as follows,

JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, Constants.requestUrl, frameLoginJson(),
                new Response.

Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {

                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        hideDialog();
                        error.printStackTrace();

                    }
                }
        );

In frameLoginJson, im framing the request parameter and dispatching the request.

But Im unable to do the same in case of JSONArrayRequest. How can I be able to make json array request with request parameters using volley especially or by any other mean?

1 Answers1

0

You would need to override the getParams method with the following signature: protected Map<String,String> getParams().

Here's an example: see the answer to Volley not calling getParams() for standard POST request

Community
  • 1
  • 1
philoniare
  • 1,625
  • 1
  • 13
  • 20