Ayuda con Arrays en Android Studio Firestore

Adri_xP

buenas. A ver si alguno de los que pilotan un poco pueden echarme un cable ya que estoy algo verde.

Os expongo la situacion:

estoy intentando hacer una aplicacion utilizando Firestore y necesito escribir y leer arrays para bastantes de las cosas que pretendo hacer y al parecer Firestore no es nada amigable con las arrays. de primeras estoy con una aplicacion para probar las formas de escribir y leer los datos, por tanto es mas la tarea que la cantidad de datos

Para volcar datos he tirado por usar un HashMap, convirtiendo la array en un Arraylist, aun tengo que probar usando una clase personalizada.

spoiler

Para leer los datos he ido un poco mas de culo.
He podido recuperar los datos desde Snapshot y tambien por medio de HashMap tambien a falta de hacerlo mediante una clase, pero claro el objeto termina en un ArrayList que es como entro

spoiler

Aqui llega el problema... quiero pasar esa maldita lista de nuevo a un array. Para mi conocimiento no es cuan mejor es una lista o un array, pero estoy mas familiarizado con las array, y no tengo que estar con el .get() .add()
Se que puedo hacerlo de la forma guarra que es pasando toda la List mediante un for copiando cada uno de los valores, pero debe haber un modo mas limpio. En la documentacion encontre esto pero me dan error.

Double[] farray = list.toArray(new Double[list.size()]);

Double[] farray = list.toArray();

alguna sugerencia? Gracias :)

byShail

No he leído mucho el código, porque a esta hora no apetece, pero si no recuerdo mal, en Java el list.toArray() no lo puedes utilizar con listas de tipos primitivos.

En StackOverflow encontraras la mayoría de las respuestas a las preguntas que te surjan.

Edit: en 30s, aquí está xD

1
Adri_xP

Justo ese hilo es lo que estuve mirando pero la que esta marcada al final como solucion es la que he comentado antes. usar un bucle for y pasar los datos de una a otra. algunas de las soluciones son
yo busco alguna solucion con menos jaleo y proceso ya que en algun momento es posible que tenga que leer 8 vectores seguidos de 60 valores cada uno.
muchas gracias :)

1 respuesta
desu

#3 Un bucle esta bien. Centrate en aprender.

Supongo que quieres esto, no lo uses porqué no entenderás lo que pasa y no te servirá de nada para aprender.

        Double[] r = list.stream().toArray(Double[]::new);
1
Adri_xP

otra preguntita que no se que falla..... con este codigo hago la busqueda de un correo dentro de una coleccion en firestore y si localiza el correo que busca me almacena en una String global llamada Userdocument el nombre del documento en donde se haya el correo. despues de realizar el proceso la variable siempre esta null y por tanto me entra en un sitio que no debe.
Tras usar el modo debug paso a paso observo que todo sigue su cauce. entra dentro del bucle localiza el documento, asigna un valor a la variable y tras terminar.... sorpresa... la variable vuelve a quedarse en null. en cambio la otra variable llamada RegistroOk no pierde su valor. he probado a asignarle un valor antes del proceso y durante este le cambia el valor y al terminar vuelve a ser el que era antes de comerzar

spoiler
s4suk3

This question has been flagged as: unclear what you're asking

Usuarios habituales

  • s4suk3
  • Adri_xP
  • desu
  • byShail