【问题标题】:Firebase Changing layout of child data information in androidFirebase在android中更改子数据信息的布局
【发布时间】:2017-08-28 00:22:21
【问题描述】:

这是我的 firebase 数据结构:

当在我的应用程序中打印出来时,它是这样的:

如何更改?所以它不会用逗号显示?而是换行

在 Android 中,我只有一个从子“成分”中检索所有值的代码

【问题讨论】:

  • 用于您的 on datachabged 中的每个孩子
  • 欢迎来到 StackOverflow!请阅读用户指南,了解如何在发布问题之前提出好问题 (stackoverflow.com/help/how-to-ask) 谢谢
  • 请添加一些代码并解释更多你想要做什么
  • query = reference.child("recipes").child(label).child("ingredients"); query.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { if (snapshot.exists()) { for (DataSnapshot recipe : snapshot.getChildren()) { results.add(recipe.getKey()) ; results.add(recipe.getValue().toString()); } adapter.notifyDataSetChanged();
  • 这是代码:它打印出每个成分之间的逗号,我如何用新行分隔它们?

标签: android firebase firebase-realtime-database


【解决方案1】:

那是因为您已将您的成分存储在一个数组中。 Firebase 将数组视为一个对象;不能添加、更改或删除元素。数组的唯一选择是重写整个数组以保持顺序索引。

最重要的是,在 Firebase 中通常应避免使用数组。请参阅有关他们的 Firebase 博客Arrays Are Evil。另外,如果您想了解更多信息,请在此处搜索“Arrays Are Evil”

还有许多其他方式可以更加灵活地存储您的数据。例如

-Yuyijiomapsd
   dish_name: "Jay's Spaghetti Sauce"
   ingredients
     -Yhiipkpokosd
        name: "Garlic"
     -Yu8jj99s9jis
        name: "Basil"
     -Yijijjis99ss
        name: "Red Wine"

像 -Yhiipkpokosd 这样的每个键都是用 childByAutoId 或 push() 生成的。

这种结构非常灵活,因为它可以扩展......

-Yuyijiomapsd
   dish_name: "Jay's Spaghetti Sauce"
   ingredients
     -Yhiipkpokosd
        name: "Garlic"
        qty: "Two cloves, minced"
     -Yu8jj99s9jis
        name: "Basil"
        qty: "1/2 cup"
     -Yijijjis99ss
        name: "Red Wine"
        qty: "As much as you like"

您也可以使用 Deep Query 进行查询,例如,您可以查询整个数据库中包含红酒的所有食谱。

【讨论】:

  • 如何创建这样的结构?我使用 json 将数据添加到数据库中。这就是我添加配料的方式:“配料”:[“大蒜”、“罗勒”、“意大利面条”、“橄榄油”、“一罐优质李子西红柿”、“芦笋”]、
  • 参见Basic Write Operations 以获取在代码中执行此操作的示例。该示例将用户名和电子邮件写入节点,但您可以从那里推断。
  • 所以我只能从 Android 执行此操作?不只是创建一个 Json 文件并添加到 Firebase?
  • @lalap 当然。网络、REST、iOS、Android。 Firebase 网站上的指南涵盖了所有平台。您还可以手动使用 Firebase 控制台在任何结构中添加数据。您也可以导入 JSON。很多选择!
  • 哦,好吧,我会研究一下,只是因为我不知道如何在 JSON 中构造它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-25
  • 1970-01-01
相关资源
最近更新 更多