Firebase - 如何检索数据库项的ID?

时间:2017-01-24 16:52:54

标签: java android firebase firebase-realtime-database

我已经建立了一个简单的数据库,其中包含这些问题的问题和答案。很简单,只有5个字符串,就是这样。这是代码:

questions
 -KbFaJVwP1HKu-rHfrjT
     ans1: 
        "test"
     ans2: 
        "1"
     ans3: 
        "2"
     ans4: 
        "3"
     question: 
        "Testing"
 -KbFlP8A08y2k4Vp1XET
     ans1: 
        "test"
     ans2: 
        "test2"
     ans3: 
        "test3"
     ans4: 
        "test4"
     question: 
        "Testing"

我已经提交了两个条目来测试它,但我想知道的是如何返回这些问题的ID?我需要一个唯一的标识符,在这些情况下是 KbFaJVwP1HKu-rHfrjT KbFlP8A08y2k4Vp1XET ,但是使用getKey方法,我得到了"问题&# 34;因此,因为它被设置为主键。

如何解决此问题?我的数据库设置不正确吗?

1 个答案:

答案 0 :(得分:2)

如果您在致电question时获得getKey(),则可以通过以下方式对孩子进行迭代:

for( DataSnapshot child : dataSnapshot.getChildren() ) {
    String childKey = child.getKey();
    ...
}

这将循环两次,其中childKey -KbFaJVwP1HKu-rHfrjT -KbFlP8A08y2k4Vp1XET