如何在不收听更改的情况下从firebase检索数据?

时间:2016-09-14 02:00:12

标签: android firebase firebase-realtime-database

我想创建一个使用firebase作为后端的应用程序。现在我遇到的问题是我必须附加一个监听器才能获取数据快照。但是每次我的应用程序启动时,我都想查询firebase的数据并填充我的视图,即使数据库没有变化。

1 个答案:

答案 0 :(得分:4)

我想你正在做这样的事情:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
ref.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            // Code 
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {
            // Code
        }
    });

因此,根据我的想法,调用名为addListenerForSingleValueEvent的替代方法可以解决问题。它将监听更改,只要返回一个值,它就会停止连接,直到再次连接。

<强>结果

    DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
    ref.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            // Code 
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {
            // Code
        }
    });