如何在Firebase中获得两个或更多节点的子节点

时间:2018-08-18 18:57:27

标签: java android firebase

我正在寻找一种有效的方法,可以获取所有节点及其子节点,并使用单个arraylists将它们存储在两个不同的valueEventListener中。

这是我的基地。 enter image description here

这就是我所做的。

 ValueEventListener allCodesListener = new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                // This method is called once with the initial value and again
                // whenever data at this location is updated.
                for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
                    CouponObj post = postSnapshot.getValue(CouponObj.class);
                    list.add(new CouponObj(post.getCode(), post.getDetail(), post.getExpirationDate(), post.getLikes(), post.getStatus(), post.getSuccessRate(), post.getUsers_today()));
                    Log.e("Get Data", post.getCode());
                }
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        };
    myRef.child("allcodes").addValueEventListener(allCodesListener);

在这个listener中,我只有allcodes的孩子。现在,我可以重复上面的相同代码,并创建另一个侦听器,并获取more_apps的所有子级,但是我想知道是否有更好的方法。

在这种情况下,我在firebase上有多个节点,我想将它们全部存储在arraylist中并将它们存储在sqlLite中,我必须为此写很多听众。问题是有两个以上的节点及其子节点。我想一口气将它们全都放在单个listener中。

0 个答案:

没有答案
相关问题