检查值是否已在firebase数据库(Android)中
我有这样一个代码来检查firebase数据库中是否已经存在值:检查值是否已在firebase数据库(Android)中,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我有这样一个代码来检查firebase数据库中是否已经存在值: private boolean nameIsValid(final String input) { final boolean[] valid = {true}; DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Users"); reference.addListener
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。但是,不幸的是,它不起作用。这能回答你的问题吗@爱德华·罗梅罗不,不幸的是。我想我做了这个答案所说的一切,但它仍然不起作用。请检查第一个重复的答案,看看如何检查用户是否存在,第二个,看看如何使用回调从Firestore获取数据,因为您无法返回该值作为方法的结果。