2017-04-03 106 views
-1

我寫了這個代碼來獲取誰輸入自己的用戶名,用戶的價值,我想檢查他的密碼:如何從孩子獲得特定的兒童價值?

MyDatabase.child("USERS").orderByChild("username").equalTo(Username.getText().toString()) 
    .addListenerForSingleValueEvent(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     for (DataSnapshot child :dataSnapshot.getChildren()){ 
      Log.i("Password",child.getValue().toString()); 
     } 

    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) { 

    } 
}); 

My database

現在我要訪問的密碼字段,並檢查用戶輸入的密碼是否正確。

+0

你爲什麼不使用火力的認證? –

回答

0

有兩種方法可以實現這一點。第一個是不要讓用戶在創建帳戶時留下空的EditText。其次是驗證dataSnapshot.exists()。希望能幫助到你!

0

這將工作:

MyDatabase.child("USERS")  
    .orderByChild("username").equalTo(Username.getText().toString()) 
    .addListenerForSingleValueEvent(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     for (DataSnapshot child :dataSnapshot.getChildren()){ 
      Log.i("Password",child.child("password").getValue().toString()); 
     } 

    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) { 
     throw databaseError.toException(); 
    } 
}); 

的變化:

  1. child.child("password").getValue()
  2. 不要忽略onCancelled()
+0

謝謝,它工作 –