Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当写入数据库时,注册后数据库仍然为空。如何在我的数据库中正确存储数据?_Android_Firebase Realtime Database - Fatal编程技术网

Android 当写入数据库时,注册后数据库仍然为空。如何在我的数据库中正确存储数据?

Android 当写入数据库时,注册后数据库仍然为空。如何在我的数据库中正确存储数据?,android,firebase-realtime-database,Android,Firebase Realtime Database,我正在给Firebase实时数据库写信。如何正确写入数据库 其中没有发现错误。但我将实时数据库添加到应用程序的依赖项从com.google.firebase:firebase数据库:16.0.1更改为com.google.firebase:firebase数据库:16.0.6 这是定义的变量 private DatabaseReference mDatabase; 这是我的注册活动代码部分 private void register_user (final String displayName

我正在给Firebase实时数据库写信。如何正确写入数据库

其中没有发现错误。但我将实时数据库添加到应用程序的依赖项从
com.google.firebase:firebase数据库:16.0.1
更改为
com.google.firebase:firebase数据库:16.0.6

这是定义的变量

private DatabaseReference mDatabase;
这是我的注册活动代码部分

private void register_user (final String displayName, 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",displayName);
                userMap.put("status","Hey there I am using ChatApp");
                userMap.put("image","default");
                userMap.put("thumb_image","default");

                mDatabase.setValue(userMap);
            } else {

                mRegProgress.hide();
                Toast.makeText(RegisterActivity.this, "Couldn't Sign in.Please Check and Try Again", Toast.LENGTH_LONG).show();

            }
        }
    });
}
private void register\u用户(最终字符串显示名、字符串电子邮件、字符串密码){
mAuth.createUserWithEmailAndPassword(电子邮件,密码).addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
FirebaseUser current_user=FirebaseAuth.getInstance().getCurrentUser();
字符串uid=current_user.getUid();
mDatabase=FirebaseDatabase.getInstance().getReference().child(“用户”).child(uid);
HashMap userMap=新的HashMap();
userMap.put(“name”,displayName);
放置(“状态”,“嘿,我正在使用聊天应用”);
放置(“图像”、“默认值”);
put(“thumb_image”,“default”);
mDatabase.setValue(userMap);
}否则{
mRegProgress.hide();
Toast.makeText(RegisterActivity.this,“无法登录。请检查并重试”,Toast.LENGTH_LONG.show();
}
}
});
}

数据条目应存储在数据库中

Firebase实时数据库拒绝读写的默认安全规则。因此,您需要在firebase控制台中检查和更改安全规则

将安全规则更改为

    {
      "rules": {
        "Users": {
           "$uid": {
             ".read": "$uid === auth.uid",
             ".write": "$uid === auth.uid"
           }
        }
      }
    }

有关更多安全选项,请在注册我的数据库后签出

。我希望恢复代码看起来正常。如果在数据库中看不到任何数据,请确保代码已实际执行。因此,在
if(task.issusccessful()){
上设置一个断点,并在调试器中运行该应用程序。然后逐步检查代码,看看每一行是否完成/值都是您期望它们完成/成为的。如果所有这些看起来都正常,请检查应用程序的logcat输出是否有错误消息(例如与权限相关的消息)。