如何从同一个子项下具有多个对象类型的Firebase数据库中获取自定义对象列表?

时间:2017-06-16 12:27:41

标签: java android firebase firebase-realtime-database

我正在制作一个使用Firebase进行大多数操作的应用。有一项活动需要Firebase数据库子“city”中的对象列表(比如People)。每个对象都存储在Firebase唯一键(如-KbhjqBQHjawWD3Eshw)下。但是在子“city”的末尾,有一个String值,它不在任何Unique Key下。因此,当我调用Firebase ChildEventListener时,我使用语句(在onChildAdded内)People person = dataSnapsot.getValue(People.class)。但由于子节点中存在String值,因此应用程序崩溃。当我删除它时,该应用程序按预期工作。我已经扫描了整个代码,但我找不到任何将String放在那里的地方。

有没有办法可以过滤掉我需要的数据,即只有People对象并排除String,以便onChildAdded不会遇到它。

或者有什么方法可以完成工作吗?

以下是Firebase数据结构示例:

City
 |
 |_ -Kewjsbfehsuhe
 |    |
 |    |_ Name: "Delhi"
 |    |_ StateCode: "DL"
 |    |_ Population: 50000000
 |
 |_ -KSHHWbdsabfur
 |
 |_ -KDQshrgefsvre
 |
 |_ StateCode: "WB"

在这里,我遇到了任意字符串StateCode。 People对象由两个字符串名称,StateCode和一个名为Population的int值组成。

0 个答案:

没有答案