【问题标题】: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) {
}
});
}