gpt4 book ai didi

android - Firebase orderbychild().equalto() 显示为空

转载 作者:行者123 更新时间:2023-11-29 19:12:29 25 4
gpt4 key购买 nike

这是我的 JSON 结构:

{
"users" : {
"userKey1" : {
"deviceToken" : "deviceTokenID",
"displayName" : "Name here",
"dob" : "28/6/2017",
"email" : "efg@wxy.com",
"gender" : "M"
},
"userKey2" : {
"deviceToken" : "deviceTokenID",
"displayName" : "Name here",
"dob" : "28/1/2017",
"email" : "abc@xyz.com",
"gender" : "M",
}
}
}

在我的 android Firebase 文件中,我输入:

Query findUser = mDatabase.child("users").orderByChild("email").equalTo("abc@xyz.com");
findUser.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Log.i("findUser","Snapshot: " + dataSnapshot.toString());
}

@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {

}

@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {

}

@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {

}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});

我得到以下日志:

06-28 22:06:50.190 30962-30962/in.sample.project I/findUser: Snapshot: DataSnapshot { key = users, value = null }

我不知道为什么当我有一个电子邮件节点与“abc@xyz.com”匹配的 child 时,我会得到 null。

最佳答案

您需要一个 foreach 循环来获取 findUser 查询中的用户,因为您的查询包含一个集合。

Query findUser = mDatabase.child("users").orderByChild("email").equalTo("abc@xyz.com");

把这部分放在你的事件监听器中....

public Iterable<DataSnapshot> getChildren (){

for (DataSnapshot child : parent.getChildren()) {
....
}
}

关于android - Firebase orderbychild().equalto() 显示为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44808347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com