Recuperar datos de una database en formato Json
Publicado por Martin (1 intervención) el 18/06/2018 18:25:35
Buenos dias/tardes o noches compañeros.
Tengo un gran problema programando en Kotlin y queriendo traer informacion desde la database de Firebase.
Leer la base de datos me va perfecto, traer datos desde la base de datos en formato Json me va perfecto, pero el problema aparece cuando quiero traer cualquier nodo con sus respectivos hijos, osea.
digamos que estos son mis datos Json la ruta completa seria
y lo que necesito es traer la informacion de
PLEE-5
PLEE-3
PLEE-1
CDT-2
etc
El codigo que estoy armando para que me traiga la informacion que supongo estar solicitando es este
Mi clase Planos esta formada de la siguiente manera
Y el valor que me trae en mi log es
Como puedo hacer para que me traiga la informacion de los nodos de Pendientes sin tener que especificarlos?
en vez de colocar "pendientes" coloco el nombre de alguno de los planos osea
val dbOBRA = FirebaseDatabase.getInstance().getReference()
.child("PLEE-1")[/code]
me trae los datos correspondientes pero lo que yo quiero hacer es que esto sea dinamico y que se aplique cuantas veces planos haya. Que posibilidades existen?
Desde ya muchas gracias.
Tengo un gran problema programando en Kotlin y queriendo traer informacion desde la database de Firebase.
Leer la base de datos me va perfecto, traer datos desde la base de datos en formato Json me va perfecto, pero el problema aparece cuando quiero traer cualquier nodo con sus respectivos hijos, osea.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
"Pendientes" : {
"CDT-2" : {
"Cantidad" : 2,
"Codigo" : "RFF-1",
"Obra" : "Campo del tesoro"
},
"PLEE-1" : {
"Cantidad" : 1,
"Codigo" : "RFF-1",
"Obra" : "Plaza logistica"
},
"PLEE-3" : {
"Cantidad" : 1,
"Codigo" : "RFF-1",
"Obra" : "Plaza logistica"
},
"PLEE-5" : {
"Cantidad" : 1,
"Codigo" : "RFF-1",
"Obra" : "Alicorp"
}
}
}
digamos que estos son mis datos Json la ruta completa seria
1
https://"nombre de la base de datos de firebase".com/basededatos/listadeplanos/planos/pendientes
y lo que necesito es traer la informacion de
PLEE-5
PLEE-3
PLEE-1
CDT-2
etc
El codigo que estoy armando para que me traiga la informacion que supongo estar solicitando es este
1
2
3
4
5
6
7
val dbOBRA = FirebaseDatabase.getInstance().getReference()
.child("Pendientes")
dbOBRA.addValueEventListener(object : ValueEventListener {
override fun onDataChange(p0 : DataSnapshot) {
var plano = p0.getValue(Planos::class.java)
Log.d("LOG", "Plano" + plano)
Mi clase Planos esta formada de la siguiente manera
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Planos {
var IDdePlano: String? = null
var obra: String? = null
var cantidad: Int = 0
var detalle: String? = null
var peso: Float = 0.toFloat()
override fun toString(): String {
return "Planos: \n" +
" IDdePlano : " + IDdePlano + "\n" +
" obra : " + obra + "\n" +
" cantidad : " + cantidad + "\n" +
" detalle : " + detalle + "\n" +
" peso : " + peso + "\n"
}
}
Y el valor que me trae en mi log es
1
Pendientes = null
Como puedo hacer para que me traiga la informacion de los nodos de Pendientes sin tener que especificarlos?
1
2
3
ya que si yo en
val dbOBRA = FirebaseDatabase.getInstance().getReference()
.child("Pendientes")
en vez de colocar "pendientes" coloco el nombre de alguno de los planos osea
val dbOBRA = FirebaseDatabase.getInstance().getReference()
.child("PLEE-1")[/code]
me trae los datos correspondientes pero lo que yo quiero hacer es que esto sea dinamico y que se aplique cuantas veces planos haya. Que posibilidades existen?
Desde ya muchas gracias.
Valora esta pregunta


0