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