首页 > 解决方案 > 如何在firebase数据库中添加数据?

问题描述

我想用 android studio 创建一个聊天应用程序项目,当我想将数据保存在 firebase 数据库中时,我是新开发人员,我的应用程序崩溃了,这是我的代码:

public void register(final String username, final String email, final String password)
{
    auth.createUserWithEmailAndPassword(email, password)
            .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task)
                {
                    if (task.isSuccessful())
                    {
                        FirebaseUser firebaseUser = auth.getCurrentUser();
                        assert firebaseUser != null;
                        String userid = firebaseUser.getUid();

                        HashMap<String , String> hashMap = new HashMap<>();
                        hashMap.put("id", userid);
                        hashMap.put("username", username);
                        hashMap.put("imageURL", "defualt");
                        hashMap.put("password", password);

                        reference = FirebaseDatabase.getInstance().getReference("Users").child(userid);

                        reference.setValue(hashMap).addOnCompleteListener(new OnCompleteListener<Void>() {
                            @Override
                            public void onComplete(@NonNull Task<Void> task)
                            {
                                if (task.isSuccessful())
                                {
                                    Intent intent = new Intent(RegisterActivity.this,
                                            MainActivity.class);
                                    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
                                    startActivity(intent);
                                    finish();
                                }
                            }
                        });
                    }
                    else
                        Toast.makeText(RegisterActivity.this, "You can't register woth this email or password",
                                Toast.LENGTH_SHORT).show();
                }
            });
}

当我想保存我的数据时,这个任务等于 false:

                                    if (task.isSuccessful())
                                {
                                    Intent intent = new Intent(RegisterActivity.this,
                                            MainActivity.class);
                                    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
                                    startActivity(intent);
                                    finish();
                                }

标签: javaandroidfirebasefirebase-realtime-database

解决方案


确保您使用的是实时数据库而不是 Cloud Firestore。情况可能就是这样。


推荐阅读