1
Ich versuche, Werte aus meiner Firebase-Datenbank abrufen.Kann den Wert von Firebase-Datenbank nicht abrufen
Es zeigt die Werte in der Funktion onDataChange() an, kann aber die Werte nicht anzeigen.
Code:
public Records readtraditional(String email)
{
final Records record = new Records();
final String[] name = new String[1];
myRef.child(email).child("name").addValueEventListener(new
ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
name[0] = dataSnapshot.getValue().toString() ;
//Printing value of name here
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Log.i("name in ","H"+name[0]);
//Unable to print value of name here
record.setName(name[0]);
return record;
}
Antwort von Firebase ist asynchron . Wenn Sie versuchen, Werte außerhalb von OnDataChange zu drucken, haben Sie wahrscheinlich keine Antwort vom Server und Ihr Namensfeld ist noch leer und onDataChange wird später aufgerufen. – matip
@matip, ich weiß das, aber was ist die Lösung. –
siehe meine Antwort unten – matip