【发布时间】:2021-08-16 03:01:39
【问题描述】:
我正在尝试在我的 Flutter 应用中保护和加载对话。 为此,我将每条消息推送到地图列表:
List<Map> messages = [];
[...]
messages.insert(0, {"data": 1, "message": "Hello, how are you?"}); //Message from user 1
messages.insert(0, {"data": 2, "message": "I am fine."}); //Message from user 2
现在,我怎样才能在本地设备上保护这些数据(消息列表)并在启动应用程序时加载它?
我已经尝试过共享首选项,但它只允许我存储字符串类型的列表,而不是地图。
我可以将 Map 类型的 List 转换为 String 类型的 List 然后使用它吗?
【问题讨论】:
-
嗨!使用数据库来存储复杂的数据,比如这个消息。看看 sqflite - pub.dev/packages/sqflite
-
感谢您的回答。实际上,我想存储的只是这些数据。我认为将每个 Map 转换为 String 然后将 Shared Preferences 与字符串列表一起使用会更容易。所有其他数据都存储在 Firestore 中,但由于大量读取和写入,消息的存储数据量非常大。
标签: list flutter dart type-conversion sharedpreferences