Tengo el siguiente problema: Quiero que en un solo onResponse pueda traer dos array que tengo en un archivo PHP que he creado en un server de pruebas.
Pero cuando quiero trabajar el segundo array me dice que esta vació y la App se traba y cierra.
Código Java:
Ver original
Esa dirección tiene 2 array juntos uno que llamo brigadas, 15 registros y el otro array que llamo turnos que básicamente tiene un registro por cada dia del año, ahorita tiene como 90
Luego tengo esto
Código Java:
Ver original
@Override public void onResponse(JSONObject response) { // Objeto AdminSQLiteOpenHelper AdminSQLite adminsql = new AdminSQLite(getActivity(), "ochoa", null, 1); // Abrir Base en modo lectura/escritura SQLiteDatabase DBM = adminsql.getWritableDatabase(); // Borramos todo lo de las tablas Brigadas y Turnos DBM.delete("brigada",null,null); DBM.delete("turno",null,null); //Creamos objeto de la clase Brigadas Brigadas brigadas = new Brigadas(); // brigadas se llama mi array en el server JSONArray jsonArrayBrigadas = response.optJSONArray("brigadas"); JSONObject jsonObjectBrigadas = null; // Resgistros del array int arrayBrigadasLenght = jsonArrayBrigadas.length(); for (int i = 0; i < arrayBrigadasLenght; i++){ try { jsonObjectBrigadas = jsonArrayBrigadas.getJSONObject(i); brigadas.setBrigada(jsonObjectBrigadas.optInt("brigada")); brigadas.setJefe(jsonObjectBrigadas.optString("jefe")); } catch (JSONException e) { e.printStackTrace(); } // Variables para mostrar int brigada = brigadas.getBrigada(); // Toast.makeText(getActivity(),"Brigada: " + brigada + ", Jefe: " + jefe, Toast.LENGTH_SHORT).show(); ContentValues registro = new ContentValues(); registro.put("brigada", brigada); registro.put("jefe", jefe); DBM.insert("brigada", null, registro); } DBM.close(); }
Ahí voy al server remoto, traigo el array y lo inserto en mi tabla, hasta ahí todo bien.
El problema inicio cuando quiero hacer lo mismo con el 2do array y me dice que el JSONArray jsonArrayTurnos = response.optJSONArray("turnos"); es null y se crashea la app
Código Java:
Ver original
@Override public void onResponse(JSONObject response) { // Objeto AdminSQLiteOpenHelper AdminSQLite adminsql = new AdminSQLite(getActivity(), "ochoa", null, 1); // Abrir Base en modo lectura/escritura SQLiteDatabase DBM = adminsql.getWritableDatabase(); // Borramos todo lo de las tablas Brigadas y Turnos DBM.delete("brigada",null,null); DBM.delete("turno",null,null); //Creamos objeto de la clase Brigadas Brigadas brigadas = new Brigadas(); // brigadas se llama mi array en el server JSONArray jsonArrayBrigadas = response.optJSONArray("brigadas"); JSONObject jsonObjectBrigadas = null; // Resgistros del array int arrayBrigadasLenght = jsonArrayBrigadas.length(); for (int i = 0; i < arrayBrigadasLenght; i++){ try { jsonObjectBrigadas = jsonArrayBrigadas.getJSONObject(i); brigadas.setBrigada(jsonObjectBrigadas.optInt("brigada")); brigadas.setJefe(jsonObjectBrigadas.optString("jefe")); } catch (JSONException e) { e.printStackTrace(); } // Variables para mostrar int brigada = brigadas.getBrigada(); // Toast.makeText(getActivity(),"Brigada: " + brigada + ", Jefe: " + jefe, Toast.LENGTH_SHORT).show(); ContentValues registro = new ContentValues(); registro.put("brigada", brigada); registro.put("jefe", jefe); DBM.insert("brigada", null, registro); } // Creamos objeto de la clase Turnos Turnos turnos = new Turnos(); // turnos se llama mi array en el server JSONArray jsonArrayTurnos = response.optJSONArray("turnos"); JSONObject jsonObjectTurnos = null; // Resgistros del array int arrayTurnosLenght = jsonArrayTurnos.length(); for (int i = 0; i < arrayTurnosLenght; i++){ try { jsonObjectTurnos = jsonArrayTurnos.getJSONObject(i); turnos.setFecha(jsonObjectTurnos.optString("fecha")); turnos.setBrigadaTurno(jsonObjectTurnos.optInt("brigada")); } catch (JSONException e) { e.printStackTrace(); } // Variables para mostrar int brigadaTurno = turnos.getBrigadaTurno(); Toast.makeText(getActivity(),"Brigada: " + brigadaTurno + ", Fecha: " + fecha, Toast.LENGTH_SHORT).show(); // ContentValues registro = new ContentValues(); // registro.put("fecha", fecha); // registro.put("brigada", brigadaTurno); // // DBM.insert("turno", null, registro); } DBM.close(); }
Busque info de como hacerlo y me tope con dos únicos sitios
Sitio 1, el cual adapte pero no pude traer ningun dato
Sitio 2, el que tiene casi que mi mismo problema pero no hubo solución. En este sitio le piden que haga un solo array pero no se si se aplica a mi pues yo tengo en un array 15 registros y en el otro muchisimos mas.
Les pido de favor su ayuda de como seria la mejor manera de poder descargar ambos arrays para poder continuar con mi proyecto.
Gracias