java - 如何从 firebase 实时数据库中获取字符串数组

标签 java android firebase firebase-realtime-database

Firebase Realtime database structure

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 的新手。我正在从 sample 节点获取数据并获取 DataSnapshot 值,如下所示。

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

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

谢谢

最佳答案

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

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 的值即可。

关于java - 如何从 firebase 实时数据库中获取字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53131751/

相关文章:

android - GCM 如何注销设备与 GCM 和第 3 方服务器

java - ä Java中的字母排序问题

java - 反向地理编码显示不正确

android - 返回递归 Activity (类似文件系统)

java - 如何读取 firestore 子集合并将其传递给 FirestoreRecyclerOptions

swift - 分段控制 - 为什么在检查 .selectedSegmentIndex 时两个滑动操作都不会消失

java - 在应用 order by 之前操作 Firebase 文档字段中存储的值

java - 如何使用java.util.Scanner从System.in正确读取用户输入并对其进行操作?

java - 如何在 Apache Spark 中重置 MapReduce 函数上的迭代器

导入图像时,Android Studio 会调整图像的大小