Je veux obtenir l'élément dans le dernier nœud ajouté dans la base de données firebase à partir de mon Android. Vous pouvez voir sur l'image ci-dessous que je ne sais pas comment obtenir le nœud spécifique, car la clé unique est créée par Firebase. Comment faire référence à un noeud créé automatiquement et à un enfant à l'intérieur? Merci beaucoup
Le dernier noeud
Essaye ça:
DatabaseReference databaseReference = Firebase.getInstance().getReference();
Query lastQuery = databaseReference.child("mp").orderByKey().limitToLast(1);
lastQuery.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String message = dataSnapshot.child("message").getValue().toString();
}
@Override
public void onCancelled(DatabaseError databaseError) {
//Handle possible errors.
}
});
J'espère que cela t'aides!
Essayez ça va marcher
Base de données de référence db;
db=FirebaseDatabase.getInstance().getReference().child("mp");
Query query = db.orderByKey().limitToLast(1);
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot child: dataSnapshot.getChildren()) {
Log.d("User key", child.getKey());
Log.d("User val", child.child("message").getValue().toString());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}``
});;
Je préfère écrire et récupérer des données via des objets . MyObject est POJO.
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot data : dataSnapshot.getChildren()) {
MyObject myObject = data.getValue(MyObject.class);
Log.i(TAG, data.getKey() + " = " + myObject.toString());
}
}