当我重新启动移动设备或此 android/firebase 应用程序时,Firebase 离线数据库数据被清除?*
Posted
技术标签:
【中文标题】当我重新启动移动设备或此 android/firebase 应用程序时,Firebase 离线数据库数据被清除?*【英文标题】:Firebase Offline Database Data is Cleared when i restart Mobile Device or This android/firebase App ?* 【发布时间】:2016-12-08 06:25:35 【问题描述】:我将此代码用于离线并使用 firebase 同步 android 应用程序中的数据。 当我重新启动移动设备或此 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");
// 存储我上次断开连接的时间戳(上次我在网上看到的时间) final DatabaseReference lastOnlineRef = database.getReference("/users/joe/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");
);
【问题讨论】:
您可能想了解 Firebase 的磁盘持久性,它(在本机移动设备上)将同步的数据持久保存到磁盘,以便在应用程序重新启动后仍然存在:firebase.google.com/docs/database/android/… 【参考方案1】:***********在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
【讨论】:
以上是关于当我重新启动移动设备或此 android/firebase 应用程序时,Firebase 离线数据库数据被清除?*的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 c++ 从其他应用程序关闭设备启动时生成的错误消息框?
在android中重新启动应用程序时如何重新连接chromecast设备