我正在制作一个使用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值组成。