Firebase para Android, ¿Cómo puedo recorrer un niño (para cada niño = x hacer y)
Esto es lo que mi prueba parece:
- ¿Cómo correctamente y consistentemente se burlan de la ubicación en Android?
- No se puede reproducir este video. Android videoView mp4 grabado por el dispositivo Android
- ¿Cuál debería ser el tiempo de espera de conexión estándar y el tiempo de espera del socket en android
- Cookies persistentes de Android HttpClient
- Multitouch para Android - Segundo dedo ACTION.MOVE Ignorado
No voy a utilizar los campos anteriores, es sólo un maniquí. Pero me gustaría pasar por todos los niños en "usuarios" y para cada correo electrónico devolver un:
System.out.println(emailString);
La única manera que encontré de enumerar un objeto está usando firebaseAdapter, ¿hay otra manera de hacerlo?
- ¿La adición y eliminación de los oyentes de eventos son más eficientes en comparación con no eliminarlos en absoluto?
- Android LoaderManager y CursorLoader Confusión
- ¿Cómo podemos simular llamadas y SMS en Android?
- ¿Hay algún marco de aplicación de Android como primavera?
- Agregar un círculo de cuadro redondo en mapa de bits redondeado
- Vista borrosa transparente que difumina el diseño debajo
- ¿Se pueden cambiar los recursos de un archivo APK de Android sin reconstruir?
- Conversión de coordenadas del dispositivo en coordenadas del mundo
La forma más fácil es con un ValueEventListener.
FirebaseDatabase.getInstance().getReference().child("users") .addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { for (DataSnapshot snapshot : dataSnapshot.getChildren()) { User user = snapshot.getValue(User.class); System.out.println(user.email); } } @Override public void onCancelled(DatabaseError databaseError) { } });
Digamos que usted tiene una referencia a los usuarios del nodo, puede iterar a través de los nodos de la siguiente manera:
reference.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { for(DataSnapshot child : dataSnapshot.getChildren() ){ // Do magic here } } @Override public void onCancelled(FirebaseError firebaseError) {} });
Tenga en cuenta que el DataSnapshot child
dentro del bucle for tendrá los UID como clave, no los usuarios .
FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference(); myRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { for(DataSnapshot item_snapshot:dataSnapshot.getChildren()) { Log.d("item id ",item_snapshot.child("item_id").getValue().toString()); Log.d("item desc",item_snapshot.child("item_desc").getValue().toString()); } } }