首页 > 解决方案 > 如何从firebase实时数据库中获取字符串数组

问题描述

Firebase 实时数据库结构

databaseReference = FirebaseDatabase.getInstance().getReference("/sample");

databaseReference.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        Log.d(TAG, "onDataChange: dataSnapshot "+dataSnapshot.getValue());
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {

    }
});

我也是 android 应用程序开发和 firebase 的新手。我从示例节点 获取数据并获取 DataSnapshot 值,如下所示。

{size=[Small, Large, Ex-Large], type=[Type 1, Type 2], color=[Red, Green, Blue], category=[T-Shirt, Jeans, Sweater]}

需要一些期望的帮助,任何建议将不胜感激。

谢谢

标签: javaandroidfirebasefirebase-realtime-database

解决方案


要单独检索值,您可以使用如下代码:

databaseReference.child("category").addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                   for (int i=0;i<3;i++) {
                     // category is an ArrayList you can declare above
                        category.add(dataSnapshot.child(String.valueOf(i)).getValue(String.class));

                }

                @Override
                public void onCancelled(@NonNull DatabaseError databaseError) { // Do something for this

                }
            });

同样,您可以在其他 ArrayLists 中添加其他节点的值,只需在此代码中更改 Childs 的值。


推荐阅读