【发布时间】:2018-06-30 07:23:46
【问题描述】:
我正在实现一个使用 Firebase 进行身份验证的应用程序,它运行良好。我现在要做的是在实时数据库的“用户”节点中添加更多数据。因此,我更改了数据库角色,现在它们看起来像这样。
`{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}`
现在我有一些代码可用于将数据保存在“用户”JSON 节点中,这就是代码:
` mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference();
dbRef.child("users").child(task.getResult().getUser().getUid()).push().setValue"jovan").addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.i("info", "createUserInDatabase:success");
} else {
Log.i("info", "createUserInDatabase:failure");
}
}
});
Log.i("Info", "" + task.getResult().getUser().getUid());
Log.i("info", "createUserWithEmail:success");
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
Toast.makeText(RegisterActivity.this, "Registered and logged in", Toast.LENGTH_SHORT).show();
} else {
Log.i("info", "createUserWithEmail:failure");
}
}
});`
正如我所说,这段代码有效,但当我查看 Firebase 时,我发现我的数据需要更加结构化和易于阅读。
这是我想做的链接,内容在第二个答案。 Stack Overflow link。
提前致谢。
【问题讨论】:
标签: android firebase firebase-realtime-database