2016-02-07 63 views
1

我正在Android應用中實施Firebase。在特定情況下未調用Firebase onDataChange

我有兩種方法執行一些同步操作。方法A:查詢事物列表。方法B:執行寫入和讀取。

方法A:

final Firebase ref = sFirebaseRef.child("users"); 
ref.addListenerForSingleValueEvent(new ValueEventListener() 
{ 
    @Override 
    public void onDataChange(DataSnapshot snapshot) 
    { 
     ... 
    } 

    @Override 
    public void onCancelled(FirebaseError firebaseError) 
    { 
     ... 
    } 

當我打電話方法的所有作品,但如果我叫方法B,然後方法A,不關閉應用程序,方法A的onDataChange不叫。 (也不叫onCancelled方法)

如果我多次調用方法B所有的作品。

  • 我的連接正常(我檢查它之前推出的方法)
  • 我等待,所有的寫操作方法B調用方法A之前(我有purgeOutstandingWrites()有沒有效果也嘗試結束)

爲什麼onDataChange不被調用? 有一些操作可能會阻止它?

+0

解決:我在方法B中調用goOffline,但方法A中的goOnline沒有調用 – Blodhgard

回答

1

解決方法:我在方法B中調用了Firebase.getApp()。goOffline(),但未調用方法A中的goOnline()。