【问题标题】:Unable to retrieve multiple data from firebase into card view/ list view无法将多个数据从 Firebase 检索到卡片视图/列表视图中
【发布时间】:2017-11-18 02:31:20
【问题描述】:

我正在开发一个 firebase 应用程序,在将数据库检索到 cardview/listview 时卡住了。

这是 firebase 数据库的演示。

   db
   |- 001
       |- details
            |- key1: "value1"

            |- key2: "value2"

            |- key3:
                |- key3_1: "value3_1"

            |- key4:
                |- key4_1: "value4_1"  

这是一个演示数据库,但与我的要求完全相同。 在这里,我想检索每个键值对。我通过首先传递数据库引用然后在孩子中根据上面的示例提到“/db”来尝试它。然后我尝试获取数据,但它不适用于上面的示例。任何对此感兴趣的人请分享您的想法!

任何答案或建议将不胜感激!

【问题讨论】:

    标签: android firebase firebase-realtime-database data-retrieval


    【解决方案1】:

    请使用此代码:

    DatabaseReference yourRef = FirebaseDatabase.getInstance().getReference().child("001").child("details");
    ValueEventListener eventListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            String key1 = dataSnapshot.child("key1").getValue(String.class);
            String key2 = dataSnapshot.child("key2").getValue(String.class);
            //and so on
        }
    
        @Override
        public void onCancelled(DatabaseError databaseError) {}
    };
    yourRef.addListenerForSingleValueEvent(eventListener);
    

    你的输出将是:

    value1
    value2
    value3
    //and so on
    

    希望对你有帮助。

    【讨论】:

    • 使用 ds.child(...) 看起来是错误的,因为 ds已经"details" 子节点。
    • 我已经删除了最后一个循环。谢谢保罗。请参阅我的更新答案。
    猜你喜欢
    • 2017-07-07
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-07
    相关资源
    最近更新 更多