安卓Firebase数据库,如何检查数值是否存在

3

我仍在学习Android和Firebase编码的基础知识。

我需要解决两个问题:

  • 在继续之前,我需要检查我的数据库中是否存在一个学校。
  • 我需要验证用户输入的用户名是否已经被使用(全部小写)。

我的数据库看起来像这样:

app: {
    school: {
        school: "university one"
        school: "university two"
        school: "university three"
    },
    users: {
        "some-user-uid": {
            school: "university one"
            username: "myname"
        }
    }
}

谢谢您。

你的答案在这里。https://dev59.com/L5bfa4cB1Zd3GeqPtGeN#36826793 - Reaz Murshed
1个回答

3

获取Firebase数据库引用:

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
        }
    });

对于学校名称,我想知道所有的学校值如何拥有相同的键(学校)?


1
做得好,但你能解释一下它是如何工作的,为什么onCancelled意味着用户名不存在吗? - Hugo Passos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接