获取直接的firebase节点值

时间:2017-08-02 08:42:43

标签: android json firebase firebase-realtime-database

firebase image structure

正如你所看到的,我现在在我的结构中有流,主题和密钥,我想最终得到主题的价值, 现在的情况是我只知道路径"帖子/主题/流/电子和沟通/主题" 并且不知道 postkey 最后一个主题节点值。 那么我如何获得最后一个主题节点的

1 个答案:

答案 0 :(得分:0)

由于没有人在一整天的工作后无法给出答案,我自己得到答案

final DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference()
            .child("posts-by-subjects").child(selectedStream).child("subjects").getRef();
    databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if (dataSnapshot.getChildrenCount() > 0) {
                ArrayList postkeys = new ArrayList();
                for (DataSnapshot child : dataSnapshot.getChildren()) {
                    postkeys.add(child.getValue().toString());
                }
                final String[] subjectName = new String[postkeys.size()];
                for (int i = 0; i <= postkeys.size() - 1; i++) {
                    int lenght = postkeys.get(i).toString().length();
                    subjectName[i] = postkeys.get(i).toString().substring(9, lenght - 1);
                    if (!(subjects.contains(subjectName[i]))) {
                        subjects.add(subjectName[i]);
                    }
                }
           }
            }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

}