Uso de matrices en firebase

Después de un tiempo, estableciendo una matriz int[][] Matrix = new int[4][4] No puedo cargarlo a firebase mDatabase.child("room_1").setValue(Matrix); Porque las matrices no son compatibles. La razón por la que uso int[][] es ser capaz de agregar números enteros usando Matrix[2][3] += 1 ¿Qué tipos de datos son compatibles con firebase y pueden manejar esos tipos de adición? Gracias.


No pude conseguir que funcione de la manera que quería con listas ni Long, por lo que he utilizado int matrix[][] y actualizado el db con setValue(matrix[index][index2]) en una base por uno.

Para obtener la base de datos en la matriz he utilizado dos bucles while anidados que comprueba cada valor y lo pone en la matriz La siguiente función obtiene el objeto

 public void SyncWDB(Object dbValue) { ArrayList aList = (ArrayList) dbValue; //I hardcoded the matrix dimensions just for testing int e = 0; int i = 0; while (e < 5) { ArrayList temp = (ArrayList) aList.get(e); while (i < 4) { Long temp2 = Long.parseLong(String.valueOf(temp.get(i))); int temp3 = temp2.intValue(); // Matrix is a class variable Matrix[e][i] = temp3; i++; } i = 0; e++; } } 

De la documentación del firebase .

Operaciones básicas de escritura

Para operaciones básicas de escritura, puede usar setValue() para guardar datos en una referencia especificada, reemplazando cualquier dato existente en esa ruta. Puede utilizar este método para:

  1. Los tipos de paso que corresponden a los tipos JSON disponibles son los siguientes:

    • Cuerda
    • Largo
    • Doble
    • Booleano
    • Mapa
    • Lista
  2. Pase un objeto Java personalizado, si la clase que lo define tiene un constructor predeterminado que no toma argumentos y tiene getters públicos para las propiedades que se van a asignar.


Le recomiendo encarecidamente que vaya con la segunda opción y, de nuevo, la documentación firebase le ayudará mucho en la comprensión de cómo hacerlo.

Si todavía desea ir con el "conjunto directamente", puede utilizar una lista de 2 dimensiones.

 List<List<Integer>> listOfLists = new ArrayList<List<Integer>>(); 
  • No se puede encontrar la clase de símbolo Intent
  • Puedo matar o terminar () una actividad en un hilo que no sea el hilo de la interfaz de usuario ...?
  • Actividad se ha filtrado ventana - Android
  • Librería de Android Gradle release JAR
  • Mi aplicación Android se bloquea aunque estoy captando la excepción que dice está causando el fallo
  • Opciones viables para ejecutar NodeJS en Android (Ago 2017)
  • Determinar si el contexto es una actividad específica
  • ¿Cómo puedo anular un método java, y cambiar la capacidad de anulación de un parámetro?
  • Colores opuestos inversos
  • Cómo configurar la imagen de pantalla de bloqueo de Android
  • Procesamiento de SVG bajo Java en Android y escritorio
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.