Flutter 并将数据保存到本地存储

Posted

技术标签:

【中文标题】Flutter 并将数据保存到本地存储【英文标题】:Flutter and saving data to local storage 【发布时间】:2018-11-17 12:34:39 【问题描述】:

    您可以写入本地资产文件吗?我已经设法从本地 json 文件中检索信息,但想知道您是否可以写入该文件?如果是的话怎么办?

    写入本地首选项会更好还是对于大量数据来说这太小了?

    如果您正在读取/写入本地文件,您将如何使用模拟器进行测试?我收到无法访问文件的错误消息。

【问题讨论】:

***.com/questions/41369633/… 【参考方案1】:

您可以写入应用程序私有沙盒目录中的本地文件(ios 上为NSDocumentsDirectoryandroid 上为AppData),但不能写入应用程序本身捆绑的文件(这并不意味着您不能但是,在应用程序中打包读/写文件:如果要写入预打包文件,则必须首先将其复制到文档目录并将新副本用作“可写”版本)。除了解决安全问题之外,这还可以确保原始 app bundle 保持完整,并且可以在不影响任何用户数据的情况下进行更新/替换。

查看Flutter cookbook entry here,了解有关写入本地存储的更多详细信息。

有关写入本地首选项(应为较小的数据位保留)的优缺点的讨论,请查看this question and its answers。

【讨论】:

这适用于存储单个值,但我如何将列表写入文件而不是单个值?我想保存许多不同的列表,然后更改和更新特定的列表项。我对将列表保存到文件然后从文件返回列表的过程感到困惑。你会在字符串的末尾使用 \n ,然后使用 read as lines 吗? 食谱中的示例确实使用了单个整数作为示例,但是您可以将任何字符串写入(和读取)该文件或从该文件中读取。然后,使用序列化器/反序列化器(例如,this one),您可以将几乎任何对象或数组(即“map”)转换为 JSON 字符串,然后可以保存和/或稍后检索。公平地说,以各种格式存储/检索数据的多种方法的讨论远远超出了单个问题的范围。

以上是关于Flutter 并将数据保存到本地存储的主要内容,如果未能解决你的问题,请参考以下文章

如何从 SQL Server 表中读取图像数据(存储 word 文档)并将其保存到本地文件夹

Android 实现拍照功能,并将图片保存到本地存储

在本地管理 Flutter 应用和 Flutter Web 数据

如何在浏览器本地存储 Flutter Web 应用程序中保存对象列表

如何从在线下载视频并将其存储在本地设备上,然后使用视频播放器在 Flutter 应用程序上播放视频?

使用PhoneGap截取图片,在app中显示并保存到本地存储