我开始为 android 开发一个应用程序,但我遇到了问题。firebase 有许多身份验证选项,但我想使用用户名登录。我尝试实时和身份验证这是登录活动
package com.example.builder;
public class LoginActivity extends AppCompatActivity {
private DatabaseReference users;
EditText edtName, edtPassword;
Button login;
FirebaseDatabase database;
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SignIn(edtName.getText().toString(), edtPassword.getText().toString());}
}); }
private void SignIn(final String username, final String password) {
users.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.child(username).exists()) {
if (dataSnapshot != null) {
User login = dataSnapshot.child(password).getValue(User.class);\\Error here null if (login.getpassword().equals(username)) \\\ and here Toast.makeText(LoginActivity.this, "good", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
startActivity(intent);
} else {Toast.makeText(LoginActivity.this, "good", Toast.LENGTH_SHORT).show(); }} else { Toast.makeText(LoginActivity.this, "Error", Toast.LENGTH_SHORT).show();
}}} @Override
public void onCancelled(@NonNull DatabaseError databaseError) {}
});}
}
\\检查了 FireBase 和 xml