Я использую Volley
для взаимодействия с API
. Мне нужно отправить сообщение с параметрами в службу, которая возвращает JSONArray
.Android Volley - JsonArrayRequest с параметрами сообщения
Я переопределение метода protected Map<String, String> getParams()
, но он не работает:
JsonArrayRequest eventoReq = new JsonArrayRequest(Configuracion.URL_API_PROXIMOS_EVENTOS,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.d(TAG, response.toString());
hidePDialog();
// Parsea json
for (int i = 0; i < 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<String, String> getParams() {
// Posting parameters to login url
Map<String, String> params = new HashMap<String, String>();
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);
что вы имеете в виду, не работает ? –
API не получает POST-параметры –