【问题标题】:Android Online and Offline storage for Health Info SystemAndroid健康信息系统的在线和离线存储
【发布时间】:2017-03-14 06:01:12
【问题描述】:

我想开发一个健康信息系统安卓应用,并使用 Firebase 作为后端解决方案。我预计有 400 份患者记录。但是,即使没有互联网连接,我也需要这些患者记录。

我计划创建一个本地 SQLite 数据库,当互联网可用时,它将与 Firebase 同步。但是,这似乎使工作量增加了一倍。我的问题是:

Firebase 能否支持我需要的这种离线功能?

【问题讨论】:

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


    【解决方案1】:

    当然,Firebase 具有离线功能。甚至不需要使用 sqlite 在本地存储数据。当您通过一行代码启用它时,它会将数据缓存在磁盘中。

    FirebaseDatabase.getInstance().setPersistenceEnabled(true);
    

    Here's the doc 很好地解释了离线功能。

    您也可以在离线存储的数据中进行查询。即使在应用程序重新启动后,Firebase 也会对已加载的数据运行查询。提供的文档很好地解释了它。

    如果您使用 Firebase 身份验证,那么您需要记住,如果您的应用程序离线时令牌过期,您需要在您的应用程序在线时再次刷新令牌。

    我以前读过这个。我担心的是它说它只处理 暂时的互联网中断。 firebase 还能处理吗 每周都上网吗?

    是的,应该。不过我还没有测试过。但是文档是这样说的。

    【讨论】:

      【解决方案2】:

      是的,Firebase 确实具有离线功能。您可以在此处找到详细信息

      https://firebase.google.com/docs/database/android/offline-capabilities

      【讨论】:

      • 我以前读过这个。我担心的是它说它只处理临时的互联网中断。即使只是每周连接到互联网,firebase 仍然可以处理它吗?
      • 可以,但是除非您在线,否则您设备中的数据不会与 FCM 同步。就像在您离线时更新了 10 个患者详细信息一样,在您重新在线之前,您不会在手机中看到这些更新的详细信息。重新上线后,当前版本的数据库将被缓存以供离线使用。
      • 最后,(我是新手),缓存的大小可以处理大约 400 条患者记录以供离线使用吗?
      • 你应该是。这就是我在文档常见问题解答“我可以在 Firebase 中存储多少数据?随你所想!Firebase 是一种可扩展的、有弹性的数据存储。它会随着你的需要而自动增长”中的内容。
      • 是的,云是,所以它是否也适用于手机中存储(缓存)以供离线使用(即可扩展、弹性)的数据?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-16
      • 2017-01-28
      相关资源
      最近更新 更多