Firebase不会识别出DatabaseReference存在

时间:2016-09-25 22:58:32

标签: android firebase firebase-realtime-database

Noob在这里。

尝试查看我的数据库中是否存在DatabaseReference。我是这样做的:

String key = "ABCDE";
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("itemIds").child(key);
ref.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot snap) {
        if (!snap.exists())
            tellUserThatItDoesntExists();
        else
            tellUserThatItExists();
    }

    .....
}

但是代码总是会导致引用不存在,即使数据库中存在节点root/itemIds/ABCDE,即我通过Firebase控制台添加的BTW )。

所有数据都是公开的,因此我没有理由不允许我读取数据。

编辑:以下是数据库可视化树的屏幕截图。此处的所有内容(meh节点除外)都是使用Firebase控制台保存的: Screenshot of the visual tree

另一个编辑:做了一些摆弄,显然,根据我的观察,Firebase似乎无法读取控制台添加的数据。我得出了这个结论,因为我制定了程序,我正在努力向数据库写一些东西,并试图检查它是否存在并且工作正常。

关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:2)

好的,因此从您的快照中可以看出此错误的原因。

不要使用 - "保存数据"引用! Firebase读取从控制台添加的数据就好了。但是如果你要添加引号,那么你必须引用 - .child("" itemIds"")

希望这会有所帮助。删除引号,firebase将读取它。只有key的值才能有引号。检查 meh 节点的格式。这是正确的方法。