我使用addListenerForSingleValueEvent
从firebase数据库检索数据,得到如下信息:
DataSnapshot { key = Food, value = {-key1=true, -key2=true, -key3=true} }
从这个datasnopshot中,我如何提取食物值的键字符串(即-key、-key2和-key3)以单独保存在一个数组中,比如
array{-key1, -key2, -key3}
? 最佳答案
如果您已经有一个快照,那么您可以使用
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
}
}