Android Firebase:我试图获得"图像"的所有价值。在以下数据库中

时间:2018-01-30 06:19:27

标签: android firebase-realtime-database

我使用以下代码:

db.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                Log.i("Images", String.valueOf(dataSnapshot.child("Images").getChildren()));
                }

更重要的是,考虑到所有"图像"我如何分离数据?其中包含不同数量的值.DataSnaphot正在返回数据,但我无法解析它。

1 个答案:

答案 0 :(得分:1)

假设所有这些孩子(-L41Yyy...-L41bHhc...)都是Firebase root的直接子项,要获取所有这些链接,请使用以下代码:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
ValueEventListener eventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            for(DataSnapshot dSnapshot : ds.child("images").getChildren()) {
                String key = dSnapshot.getKey();
                String link = dSnapshot.getValue(String.class);
                Log.d("TAG", key + ": " + link);
            }
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
rootRef.addListenerForSingleValueEvent(eventListener);

外出将是这样的:

0: https://
1: https://
2: https://
0: https://
1: https://

如您所见,它还会根据您的请求显示链接前的数字。