【问题标题】:Save a Room Database file in Firebase在 Firebase 中保存房间数据库文件
【发布时间】:2021-10-22 22:38:40
【问题描述】:

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

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

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

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

我确实遇到过有人在寻找类似问题的解决方案,但目前的解决方案是将 Room 数据库迁移到 Firebase 实时数据库。 例如:Link Android Room Database with Firebase Realtime Database

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

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

【问题讨论】:

    标签: android firebase-realtime-database android-room


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-01-22
      • 2021-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多