Android Firebase:将数据保存到数据库 - java

我正在尝试从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

名称

引用

...等等

java参考方案

您可以执行以下操作:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference(userID);
String key = ref.push().getKey();
ref.child(key).child("name").setValue(name);
ref.child(key).child("quote").setValue(quotes);

saveQuote方法中,获取数据库的实例,然后使用setValue您可以将数据添加到数据库中

Firebase Firestore集合的最大值 - java

collection * Random_Id1 *amount:100 *name:John Random_Id2 *amount:150 *name:Matt Random_Id3 *amount:65 *name:Alice 我有一个Firestore集合,其中包含不同的文档。这些文件中包含数据(名称,年龄,金额等)。有没有办法我可以返回集合中的最高金额…

java:继承 - java

有哪些替代继承的方法? java大神给出的解决方案 有效的Java:偏重于继承而不是继承。 (这实际上也来自“四人帮”)。他提出的理由是,如果扩展类未明确设计为继承,则继承会引起很多不正常的副作用。例如,对super.someMethod()的任何调用都可以引导您通过未知代码的意外路径。取而代之的是,持有对本来应该扩展的类的引用,然后委托给它。这是与Eric…

Java-如何将此字符串转换为日期? - java

我从服务器收到此消息,我不明白T和Z的含义,2012-08-24T09:59:59Z将此字符串转换为Date对象的正确SimpleDateFormat模式是什么? java大神给出的解决方案 这是ISO 8601标准。您可以使用SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM…

AppCompat不支持当前主题 - java

我的应用在Android N上运行正常,但在Android M上的setContentView(R.layout.activity_main)崩溃: Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features: { w…

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…