【问题标题】:how i get all data from firebase realtime database我如何从 firebase 实时数据库中获取所有数据
【发布时间】:2018-01-03 16:19:20
【问题描述】:

我有一个具有此架构的数据库:

我测试了这段代码,但我无法从数据库中获取任何消息。非常感谢您的帮助。

 private void Add_Chat(final DataSnapshot dataSnapshot) {
        root.child("ChatSpace").addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot snapshot) {
                String nom=dataSnapshot.child("ChatSpace").child("msg").getValue(String.class);
                System.out.println(nom);  //prints "Do you have data? You'll love Firebase."
            }
            @Override
            public void onCancelled(DatabaseError databaseError) {
            }
        });
    }

【问题讨论】:

  • 你想从所有键获取消息吗?
  • 阅读firebase的文档,那里都有解释!

标签: android firebase firebase-realtime-database


【解决方案1】:

假设 ChatSpace 是您的 Firebase 数据库根目录的直接 chlid,要获取所有消息,请使用以下代码:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference chatSpaceRef = rootRef.child("ChatSpace");
ValueEventListener eventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String msg = ds.child("msg").getValue(String.class);
            Log.d("TAG", msg);
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
chatSpaceRef.addListenerForSingleValueEvent(eventListener);

您的输出将是:

bbbName
bbbName
Name

【讨论】:

    猜你喜欢
    • 2020-09-13
    • 1970-01-01
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    • 2021-03-04
    • 1970-01-01
    • 2021-04-08
    相关资源
    最近更新 更多