【问题标题】:Get direct firebase node value获取直接firebase节点值
【发布时间】:2017-08-02 08:42:43
【问题描述】:

如您所见,我的结构中有流、主题和 postkey 现在我想获得最后放置的主题的值, 现在的情况是我只知道 "posts-by-subjects/stream/electronics and communication/subjects" 的路径,不知道 postkey最后一个主题节点值。 那么我怎样才能得到最后一个主题节点的值

【问题讨论】:

    标签: android json firebase firebase-realtime-database


    【解决方案1】:

    经过一整天的工作后没人能给出答案,我自己得到答案

    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) {
    
            }
        });
    
    }
    

    【讨论】:

      猜你喜欢
      • 2022-06-12
      • 2012-08-04
      • 1970-01-01
      • 1970-01-01
      • 2017-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多