我必须在哪里以及多久在安卓系统中启用Firebase的离线功能



我有一个应用程序,它有许多不同的片段,在不同的节点上使用不同类型的Firebase实时数据库操作(查询、LiveData、writeOperations(。现在,我想在实时数据库上启用离线功能,这样即使设备失去互联网连接,也可以执行查询、实时数据和写入操作。在官方文档中,我只需要使用以下代码(https://firebase.google.com/docs/database/android/offline-capabilities?hl=en):

FirebaseDatabase.getInstance().setPersistenceEnabled(true);

现在我的问题是,我必须在哪里以及多久使用一次这条线路?我是否必须在每个Java类中的每个firebase操作(查询、LiveData、writeOperations(之前使用它,还是在MainActivity类中只需要一次,或者每个Fragment需要一次(可能在onCreate方法中(?我只需要这一行代码,还是还需要网站上提到的其他东西(如保持数据新鲜、离线查询数据等(?

是的,没错。你只需要使用:

FirebaseDatabase.getInstance().setPersistenceEnabled(true);

现在我的问题是我必须在哪里以及多久使用一次这行?

当应用程序启动时,您可以直接将这行代码添加到代码中。因此,您可以考虑创建一个扩展Application:的类

public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
}
}

但请注意,在第一次调用getReference((之前,只调用setPersistenceEnabled。

关于频率,你只需要打一次电话。

我必须在每个Java类中的每个firebase操作(查询、LiveData、writeOperations(之前使用它吗

否。默认情况下,它缓存所有数据库。因此,如果您在应用程序的不同位置执行不同的操作,那么所有这些操作都会被缓存。除此之外,不可能只缓存部分数据。要么全是数据库,要么什么都没有。

我只需要这一行代码,还是还需要网站上提到的其他东西(如保持数据新鲜、离线查询数据等(?

您只需要那一行代码。

最新更新