【问题标题】:Android-Writing in Firebase Database an Arraylist inside of a nodeAndroid-在 Firebase 数据库中编写节点内的 Arraylist
【发布时间】:2018-10-18 23:11:14
【问题描述】:

我想在我的数据库的用户中写入Article.ClassArrayList ArticleDesire,我的Article 类有一个字符串titre 和一个ArrayList motcle,在数据库中@ 987654330@ 数组不会出现在 我检查了我的数据库,它不是空的

这是我的AddArticleDesire方法

 public void addArticleDesire(final ArrayList<Article> motcle, String Userid)
    {
        mDatabase = FirebaseDatabase.getInstance().getReference("User");
        DatabaseReference user = mDatabase.child(Userid);
        final DatabaseReference keylist = user.child("ArticleDesire");
        keylist.setValue(motcle);
   }

我的文章构造函数

 public Article(ArrayList<String> arrayList, String titre) {
        if (arrayList.isEmpty()){
            Log.w("Arraylist","VIDE");
        }
        this.motcle=new ArrayList(arrayList);
        if (motcle.isEmpty()==false)
        {
            Log.w("Arraylist"," NON VIDE"+motcle);
        }
        this.titre=titre;
    }

我在activity 中调用AddArticleDesire,调用时检查了构造函数,ArrayList 不为空,并且文章在其中。
Article 类中有不同的构造函数是否可能会干扰写作?

【问题讨论】:

  • 您能否展示您的Article 类的完整代码和您的Activity 部分,您在其中设置ArrayLists 并调用addArticleDesire()

标签: android database firebase arraylist firebase-realtime-database


【解决方案1】:

Firebase Realtime Database 不存储数组。它存储信息集(字典/关联数组)。因此,您可以获得的最接近的解决方案是:

countries: {
  0: "Spain",
  1: "France",
  2: "Italy",
  3: "Poland",
  4: "Belgium"
}

所以这应该是您正在寻找的解决方案。 如果您想阅读有关实时数据库中数组的更多信息和最佳实践,我建议您查看下一篇文章: https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html

最后,如果你最近开始在你的应用和数据库上工作,我建议你切换到Firestore,它允许你存储数组:https://firebase.google.com/docs/firestore/solutions/arrays?hl=es-419

【讨论】:

  • 嗨弗兰西斯科。您的签收有一些非常好的愿望,但我们更喜欢答案来关注这里的技术材料。我经常向新用户发布以下建议:我们不鼓励问候、希望你能帮助、感谢、提前感谢、感谢信、问候、亲切的问候、签名、请你能帮助、闲聊材料和缩写 txtspk、恳求、你被困多长时间、投票建议、元评论等。只需解释你的问题,并展示你尝试过的内容、预期的内容以及实际发生的情况。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-24
  • 1970-01-01
相关资源
最近更新 更多