相关疑难解决方法(0)

如果应用程序被终止,Firebase不会同步脱机缓存

我正在设置离线持久性

FirebaseDatabase.getInstance().setPersistenceEnabled(true);
Run Code Online (Sandbox Code Playgroud)

前面的帖子所述,但以下用例失败:

  1. 在手机上关闭互联网连接
  2. 尝试写入数据库
  3. 使用操作系统中的用户多任务菜单从内存中杀死应用程序
  4. 重新打开互联网连接
  5. 重新启动应用程序.此时,我希望通过恢复的网络连接将步骤2中的新记录发送到DB,但这不会发生.(我的期望是否正确?)

示例代码:

static{
    FirebaseDatabase.getInstance().setPersistenceEnabled(true);
}

void updateValue(){
    DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference("mydb");
    dbRef.keepSynced(true);
    dbRef.setValue("123");
}
Run Code Online (Sandbox Code Playgroud)

请注意,如果我不从内存中删除应用程序缓存工作:

  1. 在手机上关闭互联网连接
  2. 尝试写入数据库
  3. 重新打开互联网连接
  4. 恢复网络连接后,新记录将发送到DB.

android caching firebase firebase-realtime-database

17
推荐指数
1
解决办法
893
查看次数

如何在Firebase中存储HashMap以供离线使用

我有一张地图:

  Map<String, String> noidung = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)

Map从火力地堡接收数据,我告诉他们的Gridview.一切都运作良好.但是当手机离线时,我希望我加载的数据保留在Gridview上.我的想法是将Map noidung文件存储(我认为SharedPreference)以便脱机使用.我尝试了很多解决方案但失败了.

java android gridview firebase

2
推荐指数
1
解决办法
764
查看次数

Android Firebase - setPersistenceEnabled(true) 使应用程序崩溃

所以我只是尝试使用 Firebase 来更新实时数据库中活动的工具栏标签。我收到以下错误:

12-21 00:25:19.890 10295-10295/com.xlr8labs.FirebaseAuth E/AndroidRuntime: FATAL EXCEPTION: main
                                                                       Process: com.xlr8labs.FirebaseAuth, PID: 10295
                                                                       java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xlr8labs.FirebaseAuth/com.xlr8labs.FirebaseAuth.RegisterActivity}: com.google.firebase.database.DatabaseException: Calls to setPersistenceEnabled() must be made before any other usage of FirebaseDatabase instance.
                                                                           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2341)
                                                                           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2393)
                                                                           at android.app.ActivityThread.access$800(ActivityThread.java:151)
                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1324)
                                                                           at android.os.Handler.dispatchMessage(Handler.java:110)
                                                                           at android.os.Looper.loop(Looper.java:193)
                                                                           at android.app.ActivityThread.main(ActivityThread.java:5295)
                                                                           at java.lang.reflect.Method.invokeNative(Native Method)
                                                                           at java.lang.reflect.Method.invoke(Method.java:515)
                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:828)
                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644)
                                                                           at dalvik.system.NativeStart.main(Native Method)
                                                                        Caused by: com.google.firebase.database.DatabaseException: Calls to setPersistenceEnabled() must be made before any other usage of FirebaseDatabase instance.
                                                                           at com.google.firebase.database.FirebaseDatabase.zzhM(Unknown Source)
                                                                           at …
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-realtime-database

2
推荐指数
1
解决办法
4356
查看次数