【问题标题】:Android Firebase database, check if values existAndroid Firebase 数据库,检查值是否存在
【发布时间】:2017-10-24 14:14:45
【问题描述】:

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

我有两个问题要解决:

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

我的数据库如下所示:

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

谢谢。

【问题讨论】:

标签: android firebase firebase-realtime-database


【解决方案1】:

获取您的 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
        }
    });

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

【讨论】:

  • 干得好,但你能解释一下它是如何工作的以及为什么 onCancelled 意味着用户名不存在吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-20
  • 1970-01-01
  • 2016-09-21
  • 2018-06-02
  • 1970-01-01
  • 1970-01-01
  • 2018-08-26
相关资源
最近更新 更多