我正在设置离线持久性
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
如in an earlier post所述,但以下用例失败:
示例代码:
static{
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
}
void updateValue(){
DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference("mydb");
dbRef.keepSynced(true);
dbRef.setValue("123");
}
请注意,如果我没有从内存中删除应用程序缓存工作:
答案 0 :(得分:4)
根据firebase documentation
跨应用重新启动不会保留交易
即使启用了持久性,交易也不会持续存在 应用重启。所以你不能依赖离线完成的交易 致力于您的Firebase实时数据库。提供最好的用户 经验,您的应用程序应显示尚未保存事务 进入您的Firebase实时数据库,或确保您的应用 手动记住它们并在应用程序重新启动后再次执行它们。
答案 1 :(得分:2)
像魅力一样工作,看看我做了什么。
数据完美同步。我用了4行Firestore魔术
//Firebase Database Magic lines
val firebaseDatabase: FirebaseDatabase = FirebaseDatabase.getInstance()
firebaseDatabase.setPersistenceEnabled(true)
val firebaseDatabase: FirebaseDatabase= firebaseDatabase.getReference("Prakash")
databaseReference.keepSynced(true)