首页 > 解决方案 > 我无法将注册数据存储在实时数据库中,它正在存储身份验证。但为什么它没有在下面实时存储是我的代码

问题描述

我无法将注册数据存储在实时数据库中,它正在存储身份验证。但为什么它没有在下面实时存储是我的代码。

public class SignUpActivity extends AppCompatActivity {
ActivitySignUpBinding binding;
private FirebaseAuth mAuth;
FirebaseDatabase database;
ProgressDialog progressDialog;

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    binding= ActivitySignUpBinding.inflate(getLayoutInflater());
    setContentView(binding.getRoot());

    getSupportActionBar().hide();
    mAuth= FirebaseAuth.getInstance();
    database= FirebaseDatabase.getInstance();

    progressDialog= new ProgressDialog(SignUpActivity.this);
    progressDialog.setTitle("Creating Account");
    progressDialog.setMessage("We're creating your account");

    binding.btnSignUp.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            progressDialog.show();
            mAuth.createUserWithEmailAndPassword(binding.etEmail.getText().toString(), binding.etPassword.getText().toString()).
                    addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                        @Override
                        public void onComplete(@NonNull Task<AuthResult> task) {
                            progressDialog.dismiss();
                            if(task.isSuccessful()){
                                Users user = new Users(binding.etUserName.getText().toString() , binding.etEmail.getText().toString() ,
                                        binding.etPassword.getText().toString());


                                String id = task.getResult().getUser().getUid();
                                database.getReference().child("Users").child(id).push().setValue(user);

                                Toast.makeText(SignUpActivity.this, "User Created Successfully", Toast.LENGTH_SHORT).show();
                            }
                            else{
                                Toast.makeText(SignUpActivity.this, task.getException().getMessage(), Toast.LENGTH_SHORT).show();
                            }
                        }
                    });

        }
    });

}

}

//在我的firebase规则中

{
  "rules": {
    ".read": "now < 1627065000000",  // 2021-7-24
    ".write": "now < 1627065000000",  // 2021-7-24
    }
}

我无法将注册数据存储在实时数据库中,它正在存储身份验证。但为什么它没有在下面实时存储是我的代码。

标签: androidfirebasefirebase-realtime-database

解决方案


推荐阅读