Sie suchen einen Listener für Ihre Referenz einstellen müssen. Während Sie die ref.child("[email protected]").child("_email")
verwenden, zeigen Sie einfach nur auf einen bestimmten Ort in Ihrer Datenbank und nicht mehr. Wenn Sie die Daten an diesem bestimmten Ort abrufen möchten, berücksichtigen Sie diese beiden Möglichkeiten.
zuerst, wenn Sie nur einmal die Daten abrufen möchten, können Sie wie folgt vorgehen:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
DatabaseReference mostafa = ref.child("Users").child("[email protected]").child("_email");
mostafa.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String email = dataSnapshot.getValue(String.class);
//do what you want with the email
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
oder vielleicht wollen Sie den Wert in Echtzeit abrufen und in der gleichen Zeit verwenden, dass der Datenbankwert geändert wird, werden alle in der gleichen Zeit, wann immer in dem Wert geändert, dann verwenden Sie diese:
mostafa.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String email = dataSnapshot.getValue(String.class);
display.setText(email);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Beachten Sie den Unterschied zwischen den beiden Methoden. Zuerst wird nur einmal abgerufen und die zweite dient zum Abrufen der Daten, wenn der Wert geändert wird.
Denken Sie nur daran, dass die Codes, die ich gepostet habe, nur Vorlagen sind und vielleicht ein wenig mit ihnen spielen müssen.
upvoted für 'addValueEventListener'. –