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" 
     } 
    } 
} 

谢谢。

+0

你的答案在这里。 http://*.com/a/36826793/3145960 –

+2

可能的重复[了解数据是否存在于Firebase中](http://*.com/questions/36826429/understanding-if-data-exists-in-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 
     } 
    }); 

对于学校名字我不知道所有的学校价值观怎么能有相同的密钥(学校)?

+0

干得好,但你能解释它是如何工作的,为什么onCancelled意味着用户名不存在? –