我正在制作一个使用Firebase进行大多数操作的应用 . 有一项活动需要Firebase数据库子项"city"中的对象列表(比如人员) . 每个对象都存储在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值组成 .