我是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);
}
}
});
}
});
实际上,您不是在更新任何子代,而是将值设置为节点。尝试使用setValue
,如下所示:
currentUserDB.setValue(userInfo);