2 回答
TA贡献2019条经验 获得超9个赞
访问您所获取数据的顺序是不正确的。如果没有其他帮助,您可以尝试这种方式。
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
rootRef.child("Names").orderByChild("Date").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot ds: dataSnapshot.getChildren()){
date.add(ds.getValue(String.class));
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
//Also as you've told that code is not working, please tell, what exactly is not working
TA贡献1155条经验 获得超0个赞
firebase 引用错误,您应该从顶部节点转到日期节点。
改变这个:
firebaseDatabase = FirebaseDatabase.getInstance().getReference().child("Date");
进入这个:
firebaseDatabase = FirebaseDatabase.getInstance().getReference().child("Name");
firebaseDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot datas: dataSnapshot.getChildren()){
date.add(datas.child("Date").getValue().toString());
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
由于您想获取所有内容, Date因此将 firebase 引用放在节点上Name并在名称中循环,以便能够检索所有日期。
如果要获取某个用户示例的日期Ravi,则不需要循环,可以执行以下操作:
firebaseDatabase = FirebaseDatabase.getInstance().getReference().child("Name").child("Ravi").child("Date");
firebaseDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
date.add(dataSnapshot.getValue().toString());
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
添加回答
举报