英文:
check data in firebase realtime database doesn't work
问题
我试图检查一个乐队代码是否已经存在,但它不起作用。exists 总是返回 false。
以下是代码:
databaseReference.child("Band_Codes").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot data: dataSnapshot.getChildren()){
if(data.child(codeCheck).exists()){
//做一些操作
}
else{
//做一些操作
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
System.out.println(data.child(codeCheck))
返回:DataSnapshot { key = kN9VIY6AC3Zx5FP, value = null }。
kN9VIY6AC3Zx5FP 在数据库中也存在。
图片仅为示例。
英文:
I'm tryng to check if a bandcode already exists but it doesn't work. Exists returns false ever.
This is the code:
databaseReference.child("Band_Codes").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot data: dataSnapshot.getChildren()){
if(data.child(codeCheck).exists()){
//do something
}
else{
//do something
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
System.out.prinln(data.child(codeCheck)) returns: DataSnapshot { key = kN9VIY6AC3Zx5FP, value = null }
kN9VIY6AC3Zx5FP is also present in the DB.
The image is only an example.
答案1
得分: 0
你正在将 codeCheck
作为键传递。但它不是键,它是值。你应该传递 "code"
,就像是 data.child("code")
,然后检查它的值是否等于 codeCheck
。
英文:
you are passing codeCheck
as key. but it is not the key, it's the value. You should pass "code"
like data.child("code")
and check if its value equals to codeCheck
.
专注分享java语言的经验与见解,让所有开发者获益!
评论