我正在使用Firebase作为后端开发应用程序.我正在尝试实现Firebase提供的磁盘持久性,但是当我重新启动应用程序时,我的应用程序崩溃了.该文档说要Firebase.getDefaultConfig().setPersistenceEnabled(true)
在任何firebase引用之前写入,我这样做但它不起作用.
这是我的代码的一部分:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Firebase.setAndroidContext(this); firebase.getDefaultConfig().setPersistenceEnabled(true); firebase = new Firebase(getString(R.string.firebase_url)); setContentView(R.layout.activity_main); //remaining code }
日志输出:
Caused by: com.firebase.client.FirebaseException: Modifications to Config objects must occur before they are in use at com.firebase.client.core.Context.assertUnfrozen(Context.java:124) at com.firebase.client.Config.setPersistenceEnabled(Config.java:155) at activity.MainActivity.onCreate(MainActivity.java:148) at android.app.Activity.performCreate(Activity.java:5984) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2256)
Vivek Jyoti.. 9
得到它了!如文档所述(https://www.firebase.com/docs/android/api/),问题是Firebase.setAndroidContext(this);
并且Firebase.getDefaultConfig().setPersistenceEnabled(true);
每个应用程序仅被声明一次.
因此,上面提到的两个语句都包含在应用程序java文件的onCreate()中,而不是在活动java文件中.在创建任何firebase对象之前,还应该包含它们.这解决了问题:).
得到它了!如文档所述(https://www.firebase.com/docs/android/api/),问题是Firebase.setAndroidContext(this);
并且Firebase.getDefaultConfig().setPersistenceEnabled(true);
每个应用程序仅被声明一次.
因此,上面提到的两个语句都包含在应用程序java文件的onCreate()中,而不是在活动java文件中.在创建任何firebase对象之前,还应该包含它们.这解决了问题:).