我使用Firebase实时数据库和其他一些Firebase服务开发了一个android应用,在该数据库中,我为用户提供了一个参考,我在其中存储有关用户的所需信息,如下所示:
我确保在存储到数据库时,用户及其所有字段都已初始化并且不是null或未定义。
在尝试启用this文档之后的脱机功能之前,所有方法都工作正常,现在我按照主要活动中的文档中的说明添加了这一行:
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
并且该应用在大多数情况下都可以在离线状态下正常运行,但是有时,该应用在获取用户列表时崩溃,并出现NullPointerException异常,我检查了数据库,发现一个只有两个字段的用户; instanceId和Id,其余字段不存在。 我不知道为什么会这样,但是可以肯定的是,支持脱机功能是问题所在。
我非常感谢我一直在寻找解决方案的任何帮助。 谢谢!
答案 0 :(得分:4)
我希望这对您有用。
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
在应用程序类onCreate()
方法中的行上方。如果未创建,则创建为
import android.app.Application;
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
}
}
像这样在Manifest中调用此类,
<application
android:name=".App"
......
/>