android - 无法在 Android 上从 Firebase 数据库中提取值

标签 android firebase firebase-realtime-database

这是我在 Firebase 数据库中的 JSON 数据结构:

familylist
 |- 0
    |--children
    |   |-- 0:"FGH"
    |   |-- 1:"HJU"
    |-- code: "2222"
    |-- family: "SWE"
    |-- fatherName: "ABC"
    |-- motherName: "XYZ"
 |- 1
    |--children
    |   |-- 0:"XXX"
    |   |-- 1:"YYY"
    |-- code: "3333"
    |-- family: "ABC"
    |-- fatherName: "ERT"
    |-- motherName: "XTS"

我从 firebase-database 检索 Children 数据的代码:

DatabaseReference childrenKeyReference = FirebaseDatabase.getInstance().getReference().child("familylist").child("children").child(key);
Log.d(TAG, "children: " + childrenKeyReference);
childrenKeyReference.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        String child = (String) dataSnapshot.getValue();
        Log.d(TAG, "Child : " + child);
    }
    @Override
    public void onCancelled(DatabaseError databaseError) {}
});

这是来自 LogCat 的详细信息。显示空值。我不知道出了什么问题。请纠正我。

05-22 21:25:29.771 24743-24743/D/tag: children: https://bcm.firebaseio.com/familylist/children/0
05-22 21:25:29.774 24743-24743/D/tag: children: https://bcm.firebaseio.com/familylist/children/1
05-22 21:25:29.780 24743-24743/D/tag: Child : null
05-22 21:25:29.805 24743-24743/D/tag: Child : null

更新

正确设置订单后的新结果。我得到这个:

05-22 20:52:36.091 8572-8572/D/tag: children: https://bcm.firebaseio.com/familylist/0/children/0
05-22 20:52:36.097 8572-8572/D/tag: children: https://bcm.firebaseio.com/familylist/1/children/1
05-22 20:52:36.136 8572-8572/D/tag: Child : FGH
05-22 20:52:36.137 8572-8572/D/tag: Child : YYY

最佳答案

您可能不小心切换了节点访问顺序;)

您当前正在执行此操作:

...child("familylist").child("children").child(key);

但也许你应该这样做:

...child("familylist").child(key).child("children");

因为,根据您的数据模型,familylist 显然没有 children 子节点。

关于android - 无法在 Android 上从 Firebase 数据库中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44124423/

相关文章:

android - 如果没有验证证明、 session 信息、临时证明或注册 ID,则无法创建 PhoneAuthCredential。(导致 firebase 新更新)

java - 如何使用 firebase 数据库更新本地对象

javascript - Firebase .on ('value' ) 不工作

android - 在android上的opengles 2.0中绘制 Sprite 的最快方法

java - 以编程方式分配时 CardView.setRadius() 不起作用

java - 在 GraphView 上设置轴边界时出现 NullPointerException

java - 无法从方法返回相同的值,从其子方法

android - 失败 [INSTALL_FAILED_USER_RESTRICTED : Invalid apk] in android

Java:根据 Firebase 数据库中的数据对子项进行排序

javascript - 加载最后 3 个和每个新子项