我正在使用addListenerForSingleValueEvent
从Firebase数据库中检索数据,我得到如下内容:
DataSnapshot { key = Food, value = {-key1=true, -key2=true, -key3=true} }
从这个datasnopshot,我如何提取食物值的关键字符串(即-key,-key2和-key3)以单独保存在一个数组中,如array{-key1, -key2, -key3}
?
答案 0 :(得分:2)
如果您已有快照,则可以使用child()
:
public void onDataChange(DataSnapshot snapshot) {
System.out.println(snapshot.getKey()); // Food
System.out.println(snapshot.child("-key1").getValue()); // true
}
你也可以循环孩子:
public void onDataChange(DataSnapshot snapshot) {
for (DataSnapshot child: snapshot.getChildren()) {
System.out.println(child.getKey()); // "-key1", "-key2", etc
System.out.println(child.getValue()); // true, true, etc
}
}