从Firebase检索数据时使用Android Loader

时间:2017-05-19 02:26:50

标签: android asynchronous firebase firebase-realtime-database loader

我正在从Firebase检索数据并使用此数据来显示一些信息。由于检索数据需要花费时间,因此我使用CountDownTimer使应用程序等待,但这不是一个好的解决方案,并且它看起来不太好。我发现Android Loader可以完成这项工作,但我无法使其工作。任何人都可以解决这个问题吗?

以下是我用于从Firebase获取数据的代码。

infoReference.addChildEventListener(new ChildEventListener() { //inforeference is DatabaseReference
    @Override
    public void onChildAdded(DataSnapshot dataSnapshot, String s) {
        for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
            try {
                Info info = postSnapshot.getValue(Info.class);
                    infoList.add(info); //Just an arraylist
            }catch(Exception e){
            }
        }
    }

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

1 个答案:

答案 0 :(得分:0)

我用

    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            doSomething();
        }
    },2000);

从firebase检索数据后,但不是一个好主意。寻找解决方案。