首页 > 解决方案 > 如何在firebase中获取两个或多个节点的子节点

问题描述

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

这是我的火力基地。 在此处输入图像描述

这是我所做的。

 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,我必须为此编写许多侦听器。问题是有两个以上的节点及其子节点。我想一口气把它们全部搞定,在 single 里面listener

标签: javaandroidfirebase

解决方案


推荐阅读