我编写此代码以获取输入用户名的用户的值,并且我想检查他的密码:
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) {
}
});
现在我想访问密码字段并检查用户是否输入了正确的密码。
答案 0 :(得分:0)
有两种方法可以实现这一目标。第一个是在创建帐户时不让用户留空EditText
。第二是验证是否dataSnapshot.exists()
。希望它有所帮助!
答案 1 :(得分: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();
}
});
变化:
child.child("password").getValue()
onCancelled()