在 Firebase 中保存房间数据库文件

Save a Room Database file in Firebase

我一直在开发一个 Android 应用程序,该应用程序使用房间数据库中的标记填充 Google 地图,所有用户数据都存储在 Firebase 实时数据库中。

应用程序首先从 assets 文件夹中复制房间数据库,因此所有更改都将发生在数据库的副本中。房间数据库目前有 11 列,只有一列的值发生了变化。

现在我已经到了需要将 Room 数据库的副本保存到 Firebase 实时数据库中相应用户的部分,这样如果应用程序被卸载或发生其他任何事情,那么数据和与标记相关的更改将持续存在。

如何在 Firebase 实时数据库中保存房间数据库的副本,以及如何从实时数据库中提取该副本并将其设置为要使用的版本?

我确实遇到过有人在寻找类似问题的解决方案,但目前的解决方案是将房间数据库迁移到 Firebase 实时数据库。 示例:

我也考虑过摆脱房间数据库而只使用 Firebase 实时数据库,但是与标记相关的数据管理似乎很难,更不用说重新编程的数量了。此外,如果这是 best/only 方式,那么如果我将数据库存储在 Firebase 上,每个用户是否应该拥有自己的数据库副本,或者它应该只包含更改的数据和对相应的引用主数据库中的项目与其余数据?

我最近才开始使用 Firebase,我不确定什么是正确的方法。 提前致谢!

Android 的 Room 数据库是 SQL 数据库,而 Firebase 的实时数据库是 NoSQL 数据库。 SQL 数据库中的数据没有直接映射到 Firebase 的 NoSQL 模型。

但不清楚为什么您要将数据存储在 Firebase 中。如果你只是想要一个地方来存储 Room 文件以便以后检索它们,你可能最好使用 Cloud Storage,Firebase 也有 SDK。您可以 upload the SQLite file to Storage,稍后从那里检索它。