在android中动态检索firebase中的数据

时间:2016-09-18 04:52:29

标签: android firebase firebase-realtime-database

我的数据库在firebase中的结构如下:

app root:
        user:
             uid1:
                  some data
             uid2:
                  some data
        helper:
             helper1:
                     some data

等等。我想从这个数据库中检索数据。只有一些特定数据并在应用中显示。此外,我想从帮助程序中提供的链接下载所有图像(存储在firebase存储中),并在应用程序中显示它们。

我已经尝试过检索数据的文档但无法检索特定的数据列表。

编辑: -

private DatabaseReference myDb;
myDb = FirebaseDatabase.getInstance().getReference();

 final String userId = getUid();
mDatabase.child("user").child(userId).addListenerForSingleValueEvent(
        new ValueEventListener() {

            public void onDataChange(DataSnapshot dataSnapshot) {

                User uData = dataSnapshot.getValue(User.class);
            }

        });

这是我从文档中学到的并且正在做的事情,这对于单值数据很有用,但我想要检索用户类别或帮助下的所有数据。

  1. 如何遍历所有数据?
  2. 如何将下载的图像从链接显示到Android应用程序?
  3. 我希望现在有所帮助。

1 个答案:

答案 0 :(得分:0)

使用dataSnapshot.getChildren()迭代Firebase节点列表(应返回可迭代的irrc)。

示例:

mDatabase.child("users").addListenerForSingleValueEvent(
   new ValueEventListener() {
       public void onDataChange(DataSnapshot dataSnapshot) {
           for (DataSnapshot childSnapshot : datasSnapshot.getChildren() {
               User uData = childSnapshot.getvalue(User.class);
           }
       }

       // onCancelled()...
    }
);

使用ImageViews在Android中显示图像。我建议您查看Square的Picasso Android图片库以获取一些有用的功能。