我有这样的代码来检查Firebase数据库中是否已经存在值:
private boolean nameIsValid(final String input) {
final boolean[] valid = {true};
DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Users");
reference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for(DataSnapshot dataSnapshot:snapshot.getChildren()) {
if(dataSnapshot.child(input).exists()) {
valid[0] = false;
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
return valid[0];
}
如果值不存在,则应返回true,否则返回false。但是,不幸的是,它不起作用。