gpt4 book ai didi

android - Firebase 磁盘持久性错误 : Modifications to Config objects must occur before they are in use

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:42:53 28 4
gpt4 key购买 nike

我正在开发一个使用 Firebase 作为后端的应用程序。我正在尝试实现 Firebase 提供的磁盘持久性,但是当我重新启动应用程序时我的应用程序崩溃了。该文档说要在任何 firebase 引用之前写入 Firebase.getDefaultConfig().setPersistenceEnabled(true),我这样做了,但它不起作用。

这是我的部分代码:

@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)

最佳答案

明白了!问题是 Firebase.setAndroidContext(this);Firebase.getDefaultConfig().setPersistenceEnabled(true); 每个应用程序只声明一次,如文档所述 (https://www.firebase.com/docs/android/api/)。

因此,上面提到的两个语句将包含在应用程序 java 文件的 onCreate() 中,而不是在 Activity java 文件中。在创建任何 firebase 对象之前也应该包含它们。这解决了问题:)。

关于android - Firebase 磁盘持久性错误 : Modifications to Config objects must occur before they are in use,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34464853/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com