我使用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
    }
}

07-24 09:44
查看更多