【问题标题】:User is created but data is not stored in Firebase realtime database用户已创建,但数据未存储在 Firebase 实时数据库中
【发布时间】:2021-07-26 16:13:04
【问题描述】:

我创建了一个简单的注册表单。当我单击注册时,会创建用户,但名称和电子邮件等数据并未保存在实时数据库中。我已经尝试并测试了我可以在网上找到的所有内容。我的实时数据库服务器是 ASIA SOUTH-EAST1。而且我也将规则更改为true。 下面是我创建用户的代码:

progressBar.setVisibility(View.VISIBLE);
mAuth.createUserWithEmailAndPassword(email, pass)
    .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            if(task.isSuccessful()){
                User muser= new User(name, email);
                //user is created and can be seen in authentication list
                //Code down below is to add data to database but doesnt work!     
               
                FirebaseDatabase.getInstance().getReference("Users")
                        .child(FirebaseAuth.getInstance().getCurrentUser().getUid())
                        .setValue(muser)
                        .addOnCompleteListener(new OnCompleteListener<Void>() {
                    @Override
                    public void onComplete(@NonNull Task<Void> task) {
                        if(task.isSuccessful()){
                            Toast.makeText(Signup_User.this, "Registered successfully! 
                             PLEASE LOGIN AGAIN", Toast.LENGTH_LONG).show();
                            startActivity(new Intent(Signup_User.this, 
                            Home_activity.class));
                           progressBar.setVisibility(View.GONE);
                        }else{
                            Toast.makeText(Signup_User.this, "Something went wrong!", 
                             Toast.LENGTH_LONG).show();
                            progressBar.setVisibility(View.GONE);
                        }

                    }
                });

            }else{
                Toast.makeText(Signup_User.this, "Failed to register, Something went 
                 wrong!" + task.getException().getMessage(), Toast.LENGTH_LONG).show();
                progressBar.setVisibility(View.GONE);
              }
            }

    });

还有 User.java 文件:

package com.example.covoid;

public class User {
    public String name, email;

    public User(){
    }
    public User(String name, String email){
        this.name = name;
        this.email = email;
    }
}

【问题讨论】:

  • 是你的“Toast.makeText(Signup_User.this, “出了点问题!”, Toast.LENGTH_LONG).show();"显示?
  • 不,进度条一直在转啊转啊转啊转啊
  • 你的 onComplete 是否被触发了?
  • 是的,onComplete 被触发,因为我可以看到用户在 firebase 中进行了身份验证,我也可以登录,但是与用户相关的数据(例如姓名、电子邮件)没有被存储跨度>
  • 如何检查姓名、电子邮件是否未被存储?

标签: android database firebase firebase-realtime-database


【解决方案1】:

您是否再次卸载并安装该应用程序?

这对于与 FireBase 的通信至关重要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-21
    • 2021-06-11
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    相关资源
    最近更新 更多