安卓本地SQLite与Firebase同步

24

我有一个应用程序,其中默认选项是将用户数据存储为本地的SQLite数据库,但是,如果用户想要登录并将本地数据库转移到在线数据库中,以便可以在多个设备上访问,我想添加此选项。

我没有太多与云存储解决方案相关的经验,因此任何建议都将不胜感激。对于我的应用程序来说,Firebase实时数据库是否是最好的在线解决方案,还是我应该考虑其他方法?

1个回答

17
Firebase的实时数据库确实是解决您问题的最佳方案之一。它有一个慷慨的免费计划,并且与Android Studio集成得很好。 如果您的数据结构足够简单,您可以完全放弃SQLite并使用 Firebase的离线存储。这将允许Firebase自动处理离线数据的同步(通常由自己实现同步是非常痛苦的)。
或者,您可以构建自己的Web应用程序,并向Android应用程序公开REST API。这使您拥有对所有内容的控制优势。但我不建议这样做,因为需要大量知识和时间。

5
你是正确的,Firebase 是简单数据结构的最佳解决方案。然而,一开始我发现将 SQLite 数据结构重新配置以适应 Firebase 实时数据库结构是具有挑战性的。 - donny.rewq
1
离线支持是只读安全的。不要尝试离线输入数据,因为不能保证在网络恢复时数据将被插入到Firebase Web基础中,关于此问题有许多报告。例如,如果用户失去了离线身份验证,则无法进行身份验证,直到他在线输入,并且输入的离线数据存在严重风险需要纠正。 - Jonas Rotilli
@kessir:离线功能需要在应用程序加载时将所有内容与Firebase同步,这可能会很昂贵。但是,如果只同步加载的页面(在将SQLite与Firebase同步时),则可以节省成本和网络带宽... - DragonFire
请查看此链接以了解我所说的内容:https://pamartinezandres.com/lessons-learnt-the-hard-way-using-firebase-realtime-database-c609b52b9afb - DragonFire

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接