从Firebase DataSnapshot中提取单个值

时间:2016-09-28 15:48:19

标签: android firebase firebase-realtime-database

我正在使用addListenerForSingleValueEvent从Firebase数据库中检索数据,我得到如下内容:

DataSnapshot { key = Food, value = {-key1=true, -key2=true, -key3=true} }

从这个datasnopshot,我如何提取食物值的关键字符串(即-key,-key2和-key3)以单独保存在一个数组中,如array{-key1, -key2, -key3}

1 个答案:

答案 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
    }
}