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

标签 java android firebase firebase-realtime-database

我只想一次检索日期和所有日期元素,并将它们存储在 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/

相关文章:

java - 如何知道属性文件中是否存在属性?

javascript - 使用相同的时间戳 firestore 在不同页面上返回相同的结果

firebase - Flutter:获取 Firebase 数据库引用子所有数据

reactjs - 如何将我的 firestore 集合文档映射到表中

java - 如何在 javafx WebView 中指定默认字体与默认 UI 字体相同

java - "Could not find main class error"在 Windows 上,而不是在 Linux 上

java - 在 JPOS 中放置自定义逻辑的正确位置是什么?

android - 在我的情况下如何使用动态名称访问资源?

Android ADB 设备不会保持连接

android - 为什么文本没有出现在这个按钮上?