字段未出现在 Firebase Android Studio 的数据库中

Fields not appear in database of Firebase Android Studio

我在向 Firebase 显示数据时遇到问题

这是我的 RegisterActivity

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);


        mAuth= FirebaseAuth.getInstance();
        progressDialog = new  ProgressDialog (this);

        registerName = (TextInputLayout) findViewById(R.id.user_name_register);
        registerEmail = (TextInputLayout) findViewById(R.id.user_email_register);
        registerPassword = (TextInputLayout) findViewById(R.id.user_password_register);
        btnAlreadyhaveaccount = (Button) findViewById(R.id.btn_alreadyhaveaccount);
        btnCreateaccount = (Button) findViewById(R.id.btn_create);

        btnCreateaccount.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String name =  registerName.getEditText().getText().toString();
                String email = registerEmail.getEditText().getText().toString();
                String password = registerPassword.getEditText().getText().toString();
                if(!TextUtils.isEmpty(name)||!TextUtils.isEmpty(email)||!TextUtils.isEmpty(password))
                {
                    progressDialog.setTitle("Creating");
                    progressDialog.setMessage("Please wait !!!");
                    progressDialog.setCanceledOnTouchOutside(false);
                    progressDialog.show();
                    register_user (name,email,password);
                }

            }
        });

    }

    private void register_user(final String name,  String email,  String password) {
        mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                if(task.isSuccessful())
                {

                   FirebaseUser current_user  = FirebaseAuth.getInstance().getCurrentUser();
                    String uid = current_user.getUid();

                    mDatabase = FirebaseDatabase.getInstance().getReference().child("Users").child(uid);

                    HashMap<String,String> userMap = new HashMap<>();
                    userMap.put("name",name);
                    userMap.put("status","status");
                    userMap.put("image","default");
                    mDatabase.setValue(userMap).addOnCompleteListener(new OnCompleteListener<Void>() {
                        @Override
                        public void onComplete(@NonNull Task<Void> task) {
                            if (task.isSuccessful()) {
                         progressDialog.dismiss();
                         Intent intent = new Intent(RegisterActivity.this, LoginActivity.class);
                         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);
                         startActivity(intent);
                         finish();

                            }
                        }
                    });*/
                    }
                else
                {
                    progressDialog.hide();
                    Toast.makeText(RegisterActivity.this, "Error . Please check the form and try again  ", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }

我已连接到 FireBase 并进行了检查。我注册时的数据,我可以在身份验证中看到,但在数据库中它是空的

在我的应用程序中然后我注册,它只显示对话框创建但无法完成

当我删除所有关于数据库的代码时,像这样,它变得正常,对话框运行然后结束快速

 if(task.isSuccessful())
         {     
         progressDialog.dismiss();
         Intent intent = new Intent(RegisterActivity.this, LoginActivity.class);
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);
         startActivity(intent);
          finish();
          }
                else
                {
                    progressDialog.hide();
                    Toast.makeText(RegisterActivity.this, "Error . Please check the form and try again  ", Toast.LENGTH_SHORT).show();
                }

我已经重启了firebase,重建了我的应用程序,注销firebase然后重新登录并重新连接,仍然无法解决问题

这里记录

D/FirebaseAuth: Notifying id token listeners about user ( FddFnHAN5NeH2Wv0vVGt9zolL8n1 ).
    Notifying auth state listeners about user ( FddFnHAN5NeH2Wv0vVGt9zolL8n1 ).
D/FirebaseApp: Notifying auth state listeners.
    Notified 0 auth state listeners.
W/RepoOperation: setValue at /Users/FddFnHAN5NeH2Wv0vVGt9zolL8n1 failed: DatabaseError: Permission denied

failed: DatabaseError: Permission denied

您的数据库规则未设置为 public 或者对于经过身份验证的用户,将它们设置为两者之一以便 write/read

对于未通过身份验证的用户

  {
      "rules": {
          ".read": true,
          ".write": true
      }
    }

对于经过身份验证的用户

 {
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}