kis*_*ory 2 android firebase firebase-realtime-database
所以我现在正在努力解决这个问题大约三个小时.
我有这个用户类
public class User {
private String user_id;
private String userName;
private long phoneNumber;
public User() {
}
public User(String user_id, String userName, long phoneNumber) {
this.user_id = user_id;
this.userName = userName;
this.phoneNumber = phoneNumber;
}
Run Code Online (Sandbox Code Playgroud)
我想从Firebase数据库中获取此类的一些实例我正在使用此代码执行此操作:
数据库引用;
User currentUser;
DatabaseReference database = FirebaseDatabase.getInstance().getReference();
DatabaseReference usersRef = database.child("users");
Run Code Online (Sandbox Code Playgroud)
查询代码:
Query query = usersRef.orderByChild("user_id").equalTo(user_id);
query.addListenerForSingleValueEvent (new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
currentUser = dataSnapshot.getValue(User.class);
}
Run Code Online (Sandbox Code Playgroud)
有趣的是:这段代码实际上工作了一次,但我猜想我做了一些修改,现在getValue()返回null;
这是我在firebase中的数据库

当我调试应用程序时,dataSnapshot实际上包含我正在寻找的对象
但是currentUser将是一个对象,其所有字段为null;
有任何想法吗?我已经非常沮丧了:(提前谢谢!
你需要迭代dataSnapshot.getChildren(...例如
for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
User user = childSnapshot.getValue(User.class);
}
Run Code Online (Sandbox Code Playgroud)