猿问

如何在Firebase中获取所有孩子的数据并将其显示到我的Android应用中?

我的Firebase实时数据库中具有以下结构:

如何计算数据并将其显示在我的应用程序中,我将使用哪个侦听器获取所有孩子的声音?


三国纷争
浏览 231回答 3
3回答

侃侃尔雅

有几种方法可以实现此目的。我使用以下方式:    FirebaseDatabase.getInstance()                    .getReference()                    .child("demografi")                    .addListenerForSingleValueEvent(new ValueEventListener() {                        @Override                        public void onDataChange(DataSnapshot dataSnapshot) {                            for (DataSnapshot dataSnap : dataSnapshot.getChildren()) {                                YourObject object = dataSnap.getValue(YourObject.class);                                // Use your object as needed                            }                        }                        @Override                        public void onCancelled(DatabaseError databaseError) {                        }                    });  dataSnapshot返回被引用的子级。一旦拥有了它,您所要做的就是遍历它们,您可以根据需要访问“所有孩子”。

MMMHUHU

FirebaseDatabase.getInstance()        .getReference()        .child("demografi")        .addListenerForSingleValueEvent(new ValueEventListener() {            @Override            public void onDataChange(DataSnapshot dataSnapshot) {                if (dataSnapshot.exists()) {                    /** Qty of data in demografi, this is what you want. */                    long Count = dataSnapshot.getChildrenCount();                }            }            @Override            public void onCancelled(DatabaseError databaseError) {            }        });如果您想实时监控数据计数,您必须将[addListenerForSingleValueEvent]替换为[addValueEventListener]。

慕桂英4014372

我会更喜欢这种方式-String email, gender, nama;DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("demografi");databaseReference.addChildEventListener(new ChildEventListener() {    @Override    public void onChildAdded(DataSnapshot dataSnapshot, String s) {        // To get children count        dataSnapshot.getChildrenCount();        email = dataSnapshot.child("email").getValue().toString();        gender = dataSnapshot.child("gender").getValue().toString();        nama = dataSnapshot.child("nama").getValue().toString();        // and so on..    }    @Override    public void onChildChanged(DataSnapshot dataSnapshot, String s){    }    @Override    public void onChildRemoved(DataSnapshot dataSnapshot) {    }    @Override    public void onChildMoved(DataSnapshot dataSnapshot, String s) {    }    @Override    public void onCancelled(DatabaseError databaseError) {    }});
随时随地看视频慕课网APP

相关分类

Java
我要回答