Obtener el último elemento en la base de datos anidada firebase android

Esta es mi estructura de datos: Introduzca aquí la descripción de la imagen

Aquí quiero recuperar la latitud y la longitud del último artículo del niño de la localización basado en el id = "sd" .

Aquí está el código:

Query query = mDatabase.child("Users").orderByChild("Id").equalTo(busId); // busId = "sd" query.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { for(DataSnapshot user : dataSnapshot.getChildren()) { Query lastItem = user.getRef().child("Location").orderByKey().limitToLast(1); lastItem.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { String lat = dataSnapshot.child("Latitude").getValue().toString(); } @Override public void onCancelled(DatabaseError databaseError) { } }); break; } } 

¿Cómo puedo hacer eso? Gracias

Utiliza este código para Android:

 DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); DatabaseReference userRef = rootRef.child("Users"); ValueEventListener eventListener = new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { for(DataSnapshot ds : dataSnapshot.getChildren()) { String Id = ds.child("Id").getValue(String.class); if(Id.equals("sd")) { Query q = ds.child("Location").getRef().orderByKey().limitToLast(1); ValueEventListener valueEventListener = new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { for(DataSnapshot child : dataSnapshot.getChildren()) { Double latitude = child.child("Latitude").getValue(Double.class); Double longitude = child.child("Longitude").getValue(Double.class); Log.d("TAG", latitude + " / " + longitude); } } @Override public void onCancelled(DatabaseError databaseError) {} }; q.addListenerForSingleValueEvent(valueEventListener); } } } @Override public void onCancelled(DatabaseError databaseError) {} }; userRef.addListenerForSingleValueEvent(eventListener); 
  • ¿Cómo envía una Notificación Firebase a todos los dispositivos a través de CURL?
  • Obtención de excepción java.lang.NoClassDefFoundError: com.google.firebase.FirebaseOptions después de actualizar a la nueva firebase
  • Android 2.2.2 Firebase Assistant vuelve a conectar tu aplicación a firebase
  • Android - Firebase jobdispatcher
  • Android con el cambio de hora de la fecha, pero poner a tiempo de nuevo, Firebase acaba de devolver símbolo expirado
  • Firebase Crash Reporting error: la aplicación cliente com.xxxx está bloqueada
  • Cómo habilitar Firebase Crash Reporting - Android
  • ¿Hay una manera de tener 1 base de datos Firebase para 2 aplicaciones con nombres de paquetes diferentes?
  • ¿Cómo probar una invitación de firebase?
  • Android - FirebaseListAdapter en orden inverso?
  • Añadir acción a la notificación Firebase
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.