首先,我是Android的初学者。
我正在尝试使用Firebase实时数据库而不是登录身份验证进行登录阶段。我使用了两个EditText和一个Button进行登录。我的数据库是这样的:
如果您有任何链接,请提出建议。 谢谢。
答案 0 :(得分:0)
尝试此代码..
private void getData() {
mFirebaseInstance = FirebaseDatabase.getInstance();
mDatabase = mFirebaseInstance.getReference("usersDb/UserTable"); // define db name
mDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
mUserList.clear();
for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
User user = dataSnapshot1.getValue(User.class);
mUserList.add(user);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
我希望您将互联网许可添加到android清单文件中。
<uses-permission android:name="android.permission.INTERNET"/>
更多信息请参考此链接。 https://www.simplifiedcoding.net/firebase-realtime-database-crud/
答案 1 :(得分:0)
您的问题尚不清楚,但是如果您要验证输入的 userId 和密码,那么这里是代码,这里我使用了Android的Firebase查询:查看此link可以更好地了解查询。
public void verify(){
String userIdEntered = userIdEditText.getText().toString();
String passwordEntered = passwordEditText.getText().toString();
//Assuming you have stored information in "users" node
FirebaseDatabase.getInstance().getReference().child("users").orderByChild("id").equalTo(userIdEntered).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()){
for(DataSnapshot childSnapshot:dataSnapshot.getChildren()){
String password = childSnapshot.child("password").getValue(String.class);
if(password.equals(passwordEntered)){
//Valid userId and password
}else{
//Invalid password
}
}
}else{
//Invalid password
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}