【发布时间】:2017-08-15 21:20:22
【问题描述】:
这是我在 Firebase 上的数据库:
我想在有人刚刚登录我的应用后获取用户名。
final FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference ref = database.getReference("hellodoctor-65e79/message/user-doctor");
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
ref = ref.child(user.getUid());
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
userDoctor[0] = dataSnapshot.getValue(UserDoctor.class);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
但它不起作用,请帮助我,提前感谢您的帮助。
【问题讨论】:
-
请显示错误以及什么是 userDoctor[0]
-
从屏幕截图看来,
hellodoctor-65e79是您的数据库的名称,在这种情况下,您不应将其包含在对ref的调用中。所以:DatabaseReference ref = database.getReference("message/user-doctor"); -
另外:不要忽略
onCancelled,因为它可能包含有关您的应用为何无法运行的重要信息。而是:public void onCancelled(DatabaseError databaseError) { throw databaseError.toException(); } -
非常感谢@FrankvanPuffelen!
标签: android firebase firebase-realtime-database firebase-authentication