【问题标题】:Flutter: best way to save large data amountsFlutter:保存大量数据的最佳方式
【发布时间】:2021-04-19 10:24:30
【问题描述】:

我的应用程序允许用户创建模板和草稿文档。每个文档/模板都是一个类的实例,它本身由一些字符串和一个部分列表组成。部分还由字符串、DateTime 类对象组成,并且可以包括一个文件,该文件表示从用户的照片或用户生成的草图中获取的图像。目前对文档/模板的大小(如果我放一个尽可能大)或文档/模板的数量没有限制,我预计某些用户可能拥有相当大量的数据。

我需要在用户创建此数据时将其存储在设备上,以便在新会话中检索它。对于高级用户,我还将允许他们从设备上备份数据(使用 Firebase),以便可以从多个设备中检索数据,以防主设备丢失或损坏等。

我的问题是存储这些数据的最佳方式以及如何做到这一点。 Flutter 提供 Preferences、Text Files 和 SQLite,而 Firebase 云存储似乎提供了存储 JSON 文档的能力。

文档具有以下结构:

DocDraft newDraft = new DocDraft(
    type: String,
    name: String,
    content: List<Section>,
    dateCreated: DateTime,
    dateEdited: DateTime,
  );

Section类如下:

  Section(
      sType: String,
      sLabel: String,
      sText: String,
      sFile: File,);

模板类似于文档,但更简单,因为它们没有日期时间或文件。

文档和模板目前都存储在我的应用程序中的列表中。

任何关于在应用内和 Firebase 中存储/检索此类数据的最佳方式的建议以及有关如何执行此操作的任何指导都将不胜感激。

感谢您的帮助。

【问题讨论】:

  • 必须以基于意见的方式关闭

标签: flutter google-cloud-firestore


【解决方案1】:

使用Hive 包。优点:

  • 用 Dart 编写
  • 很多很好的文档
  • 易于设置
  • 支持使用 HiveAdapters 存储自定义对象
  • 快速

【讨论】:

  • 谢谢@JoeMuller,我会看看
猜你喜欢
  • 2011-11-26
  • 1970-01-01
  • 2012-02-25
  • 1970-01-01
  • 2023-04-08
  • 2012-10-18
  • 1970-01-01
  • 2021-10-29
  • 1970-01-01
相关资源
最近更新 更多