Flutter:保存大量数据的最佳方式



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

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

我的问题是存储这些数据的最佳方式以及如何做到这一点。Flutter提供首选项、文本文件和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,);

模板类似于文档,但更简单,因为它们没有DateTimes或Files。

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

任何关于在应用程序内和Firebase中存储/检索此类数据的最佳方式的建议,以及如何做到这一点的任何指导,都将不胜感激。

谢谢你的帮助。

使用配置单元包。优点:

  • 用飞镖书写
  • 很多好的文档
  • 易于设置
  • 支持使用HiveAdapters存储自定义对象
  • Fast

最新更新