Como retornar o valor DataSnapshot como resultado de um método?
Eu não tenho muita experiência com Java. Não tenho certeza se essa pergunta é estúpida, mas preciso obter um nome de usuário do banco de dados em tempo real do Firebase e retornar esse nome como resultado desse método. Então, descobri como obter esse valor, mas não entendo como retorná-lo como resultado desse método. Qual é a melhor forma de fazer isso?
private String getUserName(String uid) {
databaseReference.child(String.format("users/%s/name", uid))
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// How to return this value?
dataSnapshot.getValue(String.class);
}
@Override
public void onCancelled(DatabaseError databaseError) {}
});
}