2016-12-25 124 views
3

我仍在學習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://stackoverflow.com/a/36826793/3145960 –

+2

可能的重複[瞭解數據是否存在於Firebase中](http://stackoverflow.com/questions/36826429/understanding-if-data-exists-in-firebase) –

回答

3

爲了讓您的火力數據庫參考:

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意味着用戶名不存在? –

相關問題