创建嵌套对象Firebase结构

时间:2017-03-19 22:47:41

标签: android firebase data-structures firebase-realtime-database

我正在使用Firebase作为我的Android项目的数据库。在这个项目中,我的用户拥有最少的数据。

    users{
      1234-567-897:{
          Display:"Name",
          Email:"foo@bar.ca"
      },
    ...

我用一个带有两个本地字符串变量的基本对象User建立了这个结构。

我的问题是我现在需要为每个用户添加一个计划,其中包含一个事件列表,每个事件都有自己的信息(开始时间,结束时间等)。

我知道我的结构可能看起来像这样:

users{
  1234-567-897:{
      Display:"Name",
      Email:"foo@bar.ca",
      Schedule:{
          event1:{
               name:"Meeting",
               startTime:1,
               endTime:2
          },
          event2:{...}
      },
      Sschedule2:{...}
  },

但我不知道如何使用Firebase创建这种类型的结构。我最初将使用ArrayList来保存Schedules和Events的对象,但在阅读Firebase文档后,看起来它们不支持ArrayList存储。我正在考虑的另一种方法是创建一个单独的计划表并用uids引用它们。

感谢有关创建此结构的任何建议,谢谢!

1 个答案:

答案 0 :(得分:3)

这些似乎是您的数据所需的最小类:

public class Event {
  public String name;
  public Long startTime;
  public Long endTime;
}

public class User { 
  public String Display;
  public String Email;
  public Map<String, Event> Schedule;
}

Schedule是一张地图,其中的密钥为event1event2

我没有添加Schedule2,因为它的类型未指定。