实时数据库在Firebase上不起作用

问题描述 投票:0回答:1

我是Android应用程序开发的新手,正在Android Studio上开发应用程序。我注册了帐户后可以从firebase的Authentication选项卡检查用户列表,但realtime database不起作用并且无法获取任何数据库。

这是我的Registration Activity文件的实时数据库部件代码。请让我知道问题出在哪里。

        mRegistration.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                final String email = mEmail.getText().toString();
                final String password = mPassword.getText().toString();
                final String name = mName.getText().toString();
                mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener((Executor) getApplication(), new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if (!task.isSuccessful()) {
                            Toast.makeText(getApplication(), "로그인 실패!", Toast.LENGTH_SHORT).show();
                        } else {
                            String userId = mAuth.getCurrentUser().getUid();
                            DatabaseReference currentUserDB = FirebaseDatabase.getInstance().getReference().child("users").child(userId);

                            Map userInfo = new HashMap<>();
                            userInfo.put("email", email);
                            userInfo.put("name", name);
                            userInfo.put("profileImageUrl", "default");

                            currentUserDB.updateChildren(userInfo);
                        }
                    }
                });
            }
        });


java android android-studio firebase-realtime-database
1个回答
0
投票

实际上,您不是在更新任何子代,而是将值设置为节点。尝试使用setValue,如下所示:

currentUserDB.setValue(userInfo);
© www.soinside.com 2019 - 2024. All rights reserved.