【发布时间】:2019-12-09 09:10:50
【问题描述】:
我正在尝试从 Firebase 保存和检索数据,但在获取正确的语法时遇到了一些问题。
用户通过邮箱和密码的认证方式注册并使用相同的详细信息登录。
我有两个编辑文本字段,要求输入名称和语句。两个编辑文本框下方有一个按钮,用于将数据保存到数据库中。
private void saveQuote(){
String name = author.getText().toString();
String quotes = quote.getText().toString();
Author author = new Author(name, quotes);
//databaseReference.child(u.getUid()).setValue(author);
if (!TextUtils.isEmpty(name) && !TextUtils.isEmpty(quotes)){
user = auth.getCurrentUser();
String userID = user.getUid();
databaseReference.child(userID).child("quotes").setValue(author);
}else{
Toast.makeText(this, "Author Name is Empty", Toast.LENGTH_SHORT).show();
}
Toast.makeText(this, "Saved...", Toast.LENGTH_SHORT).show();
} 这个想法是,当用户登录应用程序时,它将他们的 Uid 保存为数据库中的主图块,然后在其下方,它们应该是名称和语句保存为一个字段的另一部分。这意味着如果他们写下另一个姓名和声明并按保存,则应在其 ID 下创建一个新字段,其中包含所写的姓名和声明。
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
saveQuote();
}
});
Firebase 规则:
{
"rules": {
"$uid": {
".read": "auth !== null && auth.uid === $uid",
".write": "auth !== null && auth.uid === $uid"
}
}
}
如何保存每个保存数据的请求。
想要的格式:
UID
进入
名字
引用
条目2
名字
引用
...等
【问题讨论】:
-
尝试使用 .Push(author) 而不是 .setValue(author)
-
抱歉,现在才尝试。
标签: java android json firebase