title: Android Volley - JsonArrayRequest with post parameters
body: <p>I'm using <code>Volley</code> to interact with an <code>API</code>. I need to send a post request with parameters to a service that returns a <code>JSONArray</code>.</p>
  
  <p>I'm overriding the method <code>protected Map&lt;String, String&gt; getParams()</code> but it is not working:</p>
  
  <pre><code>JsonArrayRequest eventoReq = new JsonArrayRequest(Configuracion.URL_API_PROXIMOS_EVENTOS,
                  new Response.Listener&lt;JSONArray&gt;() {
                      @Override
                      public void onResponse(JSONArray response) {
                          Log.d(TAG, response.toString());
  
                          hidePDialog();
  
                          // Parsea json
                          for (int i = 0; i &lt; response.length(); i++) {
                              try {
                                  JSONObject obj = response.getJSONObject(i);
  
                                  Evento evento = new Evento();
                                  evento.setCod_evento(obj.getInt("cod_evento"));
                                  evento.setTitulo(obj.getString("titulo"));
                                  evento.setDescripcion(obj.getString("descripcion"));
                                  evento.setDireccion(obj.getString("direccion"));
                                  evento.setImagen(obj.getString("imagen"));
                                  evento.setPuntuacion((float) obj.getDouble("puntuacion"));
  
                                  // Añade el evento al listado
                                  listaEventos.add(evento);
  
                              } catch (JSONException e) {
                                  e.printStackTrace();
                              }
  
                          }
  
                          // Actualiza el adaptador
                          adapter.notifyDataSetChanged();
                      }
                  }, new Response.ErrorListener() {
              @Override
              public void onErrorResponse(VolleyError error) {
                  VolleyLog.d(TAG, "Error: " + error.getMessage());
                  hidePDialog();
  
              }
          }){
              @Override
              protected Map&lt;String, String&gt; getParams() {
                  // Posting parameters to login url
                  Map&lt;String, String&gt; params = new HashMap&lt;String, String&gt;();
                  params.put("tag", "eventos_proximos_usuario");
                  params.put("cod_usuario", cod_usuario);
                  return params;
              }
  
              @Override
              public int getMethod() {
                  return Method.POST;
              }
          };
  
          // Añade la peticion a la cola
          AppController.getInstance().addToRequestQueue(eventoReq);
  </code></pre>