Firebase 更新密码(当前通行证和新通行证)

0 android firebase firebase-realtime-database

我一直在为我的应用程序的更改密码功能而苦苦挣扎。我对如何比较当前通行证并通过 firebase 数据库存储新密码感到困惑。 这是我的 firebasedb 结构我的 xml 表单

请不要在评论中对我严厉,请教育我。我在询问之前先做了研究,并尝试了几次。我发现的大多数教程都是关于在单击列表视图中的项目时更新数据。我使用 db 来存储用户的原因是因为我将创建 2 个密钥来标识用户是学生还是教授。我只是想询问帮助我如何实现密码更改。

ChangePassAccount.class

 public class ChangePassAccount extends AppCompatActivity {

    Button btnSave;
    EditText cpass, npass;
    String pass, newpass;

    DatabaseReference dbPDF;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getSupportActionBar().hide();
        setContentView(R.layout.activity_change_pass_account);

        dbPDF = FirebaseDatabase.getInstance().getReference("users").child("password");

        cpass = (EditText)findViewById(R.id.currentpass);
        npass = (EditText)findViewById(R.id.newpass);

        btnSave = (Button) findViewById(R.id.btnsave);
        btnSave.setBackgroundResource(R.drawable.button);

        btnSave.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                pass = cpass.getText().toString();
                newpass = npass.getText().toString();


            }
        });

    }
}
Run Code Online (Sandbox Code Playgroud)

Ald*_*wan 5

我建议您使用firebase auth来管理用户登录或更改密码等。所以也许您只需要通过UserInfo存储用户数据

这是Firebase-管理用户中用于更改用户密码的示例

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String newPassword = "SOME-SECURE-PASSWORD";

user.updatePassword(newPassword)
        .addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    Log.d(TAG, "User password updated.");
                }
            }
        });
Run Code Online (Sandbox Code Playgroud)