2016-08-02 29 views
1

我使用此代码脱机并使用Firebase同步android应用程序中的数据。 当我重新启动移动设备或此Android/Firebase应用程序时,Firebase脱机数据库数据已清除?当我重新启动移动设备或此Android/firebase应用程序时,Firebase脱机数据库数据已清除?*

DatabaseReference scoresRef = FirebaseDatabase.getInstance().getReference("scores"); 
    scoresRef.keepSynced(true); 

    final FirebaseDatabase database = FirebaseDatabase.getInstance(); 
    final DatabaseReference myConnectionsRef = database.getReference("users/joe/connections"); 

//商店我上次断开的时间戳(我是在网上看到的最后一次) 最终DatabaseReference lastOnlineRef = database.getReference( “/用户/乔/ LASTONLINE”);

final DatabaseReference connectedRef = database.getReference(".info/connected"); 
    connectedRef.addValueEventListener(new ValueEventListener() { 



     @Override 
     public void onDataChange(DataSnapshot snapshot) { 
      boolean connected = snapshot.getValue(Boolean.class); 
      if (connected) { 

       // add this device to my connections list 
       // this value could contain info about the device or a timestamp too 
       DatabaseReference con = myConnectionsRef.push(); 
       con.setValue(Boolean.TRUE); 

       // when this device disconnects, remove it 
       con.onDisconnect().removeValue(); 

       // when I disconnect, update the last time I was seen online 
       lastOnlineRef.onDisconnect().setValue(ServerValue.TIMESTAMP); 


      } 
     } 

     @Override 
     public void onCancelled(DatabaseError error) { 
      System.err.println("Listener was cancelled at .info/connected"); 
     } 
    }); 
+0

你可能想了解火力地堡的磁盘持久性(在原生移动设备上)将同步数据保留到磁盘,以便在应用程序重新启动后继续存在:https://firebase.google.com/docs/database/android/offline-capabilities#section-offline-behavior –

回答

0

*********** mFirebaseDatabase.getReference()之前编写代码*********

 mFirebaseDatabase = FirebaseDatabase.getInstance(); 

    // Fire up data persistence to work offline. 
    // It's used once in app (not in each activity). 
    try { 
     mFirebaseDatabase.setPersistenceEnabled(true); 
    } catch (DatabaseException e) { 
     // Do anything 
    } 
相关问题