英文:
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语言的经验与见解,让所有开发者获益!


评论