【问题标题】:Flutter Firestore Offline DatabaseFlutter Firestore 离线数据库
【发布时间】:2021-04-09 12:52:23
【问题描述】:

我有一个关于 Cloud Firestore 和 Flutter 的澄清问题: 我正在制作一个应用程序,用户可以创建排序的日志条目,这些条目将保存在 Firebase 上。但在他们再次连接互联网之前,他们可能会在离线状态下最多输入 30 个条目。

而且我知道 Firestore 有一个离线功能,任何创建的文档都可以离线查看,因为它是按日志记录的顺序保存的,然后在获得互联网连接时与数据库同步。但绝对至关重要的是,这些日志在有机会上传之前不能在我的应用程序中丢失。有没有办法确保我的应用在再次连接到 Firebase 之前不会丢失这些数据,或者我应该在设备上创建一个 Sembast 数据库,并保存所有内容的副本,然后偶尔检查一下数据库?

如果手机电池在与 Firestore 同步之前没电了,Firestore 是否有离线应急措施?

或者还有其他我不知道的解决方案吗?

【问题讨论】:

    标签: firebase flutter google-cloud-firestore


    【解决方案1】:

    对于 Android 和 iOS,默认情况下会启用离线持久性。 您无需在代码中执行任何操作。

    请注意,默认缓存大小为 100 MB。不过,这可以更改,例如

    let settings = Firestore.firestore().settings
    settings.cacheSizeBytes = FirestoreCacheSizeUnlimited
    Firestore.firestore().settings = settings
    

    【讨论】:

      【解决方案2】:

      如果手机电池在与 Firestore 同步之前没电了,Firestore 是否有离线应急措施?

      启用 Firestore 的离线持久性后,它会将您的应用最近读取的数据以及任何待处理的写入数据存储到本地设备或浏览器上的数据库中。此基于磁盘的缓存将在应用重新启动/页面重新加载后继续存在。

      【讨论】:

        猜你喜欢
        • 2019-03-06
        • 1970-01-01
        • 1970-01-01
        • 2023-01-16
        • 2020-01-12
        • 1970-01-01
        • 1970-01-01
        • 2019-08-21
        • 2021-11-30
        相关资源
        最近更新 更多