我如何从firebase实时数据库中获取所有数据

时间:2018-01-03 16:19:21

标签: android firebase firebase-realtime-database

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

enter image description here

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

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

1 个答案:

答案 0 :(得分:0)

假设ChatSpace是Firebase数据库root的直接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