我使用Firebase实时数据库存储和检索Android应用程序的数据。在我的主屏幕上,我已经实现了 addListenerForSingleValueEvent 来从我的数据库中读取。我的数据库有一个值,例如:
\z
从我的叶子"版本"我检索价值" 455"在我的应用程序正确。现在我执行两个步骤:
- 杀死该应用。
- 从firebase控制台手动将叶子更新为467。
之后,当我启动应用程序时,我得到相同的旧值" 455"第一次,在第二次发布时,我得到了更新的值" 467"。
对于firebase数据库,这是正确的行为吗?无论如何,我可以从第一个应用程序发布中获得更新的价值吗?
编辑:添加代码
"version" : 455
PS :我使用 ref.keepSynced(true); ,仍然是手动更新后第一次给出旧值。
答案 0 :(得分:1)
看到你的代码,我可以说没有错误。要解决此问题,只需注释以下代码行:
database.setPersistenceEnabled(true);
ref.keepSynced(true);
你的问题将得到解决。您的数据将首次显示。