首页 > 解决方案 > 空对象引用 FireBase 通过用户名登录

问题描述

我开始为 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

标签: firebase-realtime-database

解决方案


推荐阅读