Android Firebase数据库,检查值是否存在

时间:2016-12-25 09:19:10

标签: android firebase firebase-realtime-database

我还在学习android和firebase编码的基础知识。

我有两个问题需要解决:

  • 我需要先查看我的数据库中是否有学校 仍在进行中。
  • 我需要验证用户输入的用户名是否已被使用(全部小写)。

我的数据库如下所示:

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

谢谢。

1 个答案:

答案 0 :(得分: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
        }
    });

对于学校名称,我想知道所有学校的价值观都有相同的关键(学校)吗?