【发布时间】:2019-11-22 22:53:57
【问题描述】:
你好开发者
我正在尝试从 Firebase 检索数据,但在将 valueEventListener 应用于数据后显示空数据,该值包含在 User
这是我在 firebase 上的数据库
这是我的代码
类用户
public class User {
public String id, fname,lname, side, email, phone;
public User(){ }
public User(String id,String fname,String lname,String side, String email, String phone) {
this.id=id;
this.fname = fname;
this.lname = lname;
this.side = side;
this.email = email;
this.phone = phone;
}
public String getFname() {
return fname;
}
public String getLname() {
return lname;
}
public String getSide() {
return side;
}
public String getEmail() {
return email;
}
public String getPhone() {
return phone;
}
public String getId() {
return id;
}
我的valueEventListener
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference("users_client");
DatabaseReference userNameRef = rootRef.child(uid);
userNameRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
userinfo=dataSnapshot.getValue(User.class);
Toast.makeText(Login.this,userinfo.getFname(),Toast.LENGTH_SHORT).show();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
错误:java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.xxxx.gestient.User.getFname()' on a null object reference
【问题讨论】:
-
你想显示那个特定的用户吗?
-
不,我想获取有关此特定用户的信息
-
但我不知道为什么我总是得到一个空用户
-
你得到 null 因为你没有输入
child(userUid)。你可以叫他的userUid吗?
标签: android firebase firebase-realtime-database