遍历Firebase数据库

时间:2019-01-22 04:25:42

标签: java android firebase firebase-realtime-database

我想做的是浏览Firebase数据库,看是否有某个值,如果没有,则什么都不做,如果没有,则向该节点添加另一个值。

我的Firebase集合如下所示:

appname{
Collection{
    key : value
    key : value
    key : value

再次,我想查看输入的值是否等于集合中的任何值。如果没有,则应将输入的值添加到集合中。

编辑:我被告知要显示我使用的无效代码。因为我尝试了其他事情,所以我删除了代码。但是我会尽力记住它的状态。在这里:

reference.child("strings").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
    for(DataSnapshot n : dataSnapshot.getChildren()){
        if (n == inputedString) {
            break;
        }
    ref.child("strings").setValue(inputedString);
    }
}

同样,我不确定这是否是正确的代码,但它与此相似。我已将此答案用作帮助,但无法根据自己的需要进行调整:docs

我遇到的问题是我的数据库一次又一次地无限填充。

1 个答案:

答案 0 :(得分:0)

您的代码正在有效地监听其所做的更改。每次对setValue的调用都会触发您传递给addValueEventListener的对象的另一个回调。如果只想遍历每个孩子一次而不听更新,请使用addListenerForSingleValueEvent而不是addValueEventListener