2017-04-03 104 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

谢谢,它工作 –