猿问

Firebase脱机功能和addListenerForSingleValueEvent

Firebase脱机功能和addListenerForSingleValueEvent

每当我用addListenerForSingleValueEvent带着setPersistenceEnabled(true)的本地脱机副本。DataSnapshot更新DataSnapshot从服务器。

但是,如果我使用addValueEventListener带着setPersistenceEnabled(true),我可以得到最新的DataSnapshot从服务器。

这正常吗addListenerForSingleValueEvent因为它只会搜索DataSnapshot本地(脱机)并在成功检索后移除其侦听器。DataSnapshot 一次(线下还是在线)?


POPMUISE
浏览 603回答 3
3回答

牛魔王的故事

当Workinkg启用持久性时,我计算了侦听器接到onDataChange()调用并在2次停止侦听的次数。为我工作,也许能帮上忙:private int timesRead;private ValueEventListener listener;private DatabaseReference ref;private void readFB() {     timesRead = 0;     if (ref == null) {         ref = mFBDatabase.child("URL");     }     if (listener == null) {         listener = new ValueEventListener() {             @Override             public void onDataChange(DataSnapshot dataSnapshot) {                 //process dataSnapshot                 timesRead++;                 if (timesRead == 2) {                     ref.removeEventListener(listener);                 }             }             @Override             public void onCancelled(DatabaseError databaseError) {             }         };     }     ref.removeEventListener(listener);     ref.addValueEventListener(listener);}
随时随地看视频慕课网APP

相关分类

Android
我要回答