Android Firebase数据库,检查值是否存在
问题描述:
我仍在学习android和firebase编码的基础知识。Android Firebase数据库,检查值是否存在
我有两个问题,以解决:
- 我需要检查,如果从我的数据库一所学校 继续之前存在。
- 我需要验证用户输入的用户名尚未使用(全部小写)。
我的数据库看起来是这样的:
app: {
school: {
school: "university one"
school: "university two"
school: "university three"
},
users: {
"some-user-uid": {
school: "university one"
username: "myname"
}
}
}
谢谢。
答
为了让您的火力数据库参考:
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference();
要检查如果用户名存在与否:
String username= "myname" ;
mDatabase.child("app").child("user").child("uid").orderByChild("username").equalTo(username).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot!=null && dataSnapshot.getChildren()!=null &&
dataSnapshot.getChildren().iterator().hasNext()){
//Username exists
}else {
//Username does not exist
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
//Error
}
});
对于学校名字我不知道所有的学校价值观怎么能有相同的密钥(学校)?
+0
干得好,但你能解释它是如何工作的,为什么onCancelled意味着用户名不存在? –
你的答案在这里。 http://*.com/a/36826793/3145960 –
可能的重复[了解数据是否存在于Firebase中](http://*.com/questions/36826429/understanding-if-data-exists-in-firebase) –