gpt4 book ai didi

java - 问题检索类似的 firebase 子元素

转载 作者:行者123 更新时间:2023-11-29 23:36:09 26 4
gpt4 key购买 nike

我只想一次检索日期和所有日期元素,并将它们存储在 firebase 中的数组中,如下所示。

enter image description here

我已经使用以下代码进行检索但未能成功。

    public void showData(View view) {

final ArrayList<String> date = new ArrayList<>();
firebaseDatabase = FirebaseDatabase.getInstance().getReference().child("Date");

firebaseDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
date.add(dataSnapshot.getValue().toString());
display.setText(dataSnapshot.getValue().toString());
}

@Override
public void onCancelled(@NonNull DatabaseError databaseError) {

}
});
}

请帮助找到解决方案。

最佳答案

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

}
});

关于java - 问题检索类似的 firebase 子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52217161/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com