gpt4 book ai didi

android - com.google.firebase.database.DatabaseException : Calls to setPersistenceEnabled() must be made before any other usage of FirebaseDatabase instance

转载 作者:IT老高 更新时间:2023-10-28 22:03:49 31 4
gpt4 key购买 nike

当我尝试在 fIREBASE 中设置持久性时遇到问题,有人可以解释一下如何去做吗?

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_meal_details);

if (mDatabase == null) {
mDatabase = FirebaseDatabase.getInstance().getReference();
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
// ...
}


// FirebaseDatabase.getInstance().setPersistenceEnabled(true);
mDatabase = FirebaseDatabase.getInstance().getReference();

最佳答案

根据 Firebase 文档,setPersistenceEnabled 只能调用一次(在创建任何其他 FirebaseDatabase 实例之前)

所以对我来说这个问题的解决方案如下

  1. 你需要创建一个,它扩展android.app.ApplicationsetPersistenceEnabled(true)

举例

class MyFirebaseApp extends android.app.Application 

@Override
public void onCreate() {
super.onCreate();
/* Enable disk persistence */
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
}
  1. Manifest 中,将 MyFirebaseApp 类链接到应用程序标记

举例

在您的应用程序标签中添加以下内容

android:name="com.example.MyFirebaseApp"

这应该可以正常工作。

也不要在任何其他 Activity 中使用 setPersistenceEnabled。

关于android - com.google.firebase.database.DatabaseException : Calls to setPersistenceEnabled() must be made before any other usage of FirebaseDatabase instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37753991/

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