如何在 Flutter 中存储项目列表

How can you store lists of Items in Flutter

即使应用程序在 Flutter 中关闭,你怎么能存储这样的东西:

Class myList {
    String id;
    List<Item> list;
}

Class Item{
    //Many property’s
}

我想也许我可以用“sqflite”来做到这一点,这是一个 flutter 依赖项,但我不知道如何将这个 List 存储在那里。你有什么想法吗?

顺便说一句:我需要多个这样的“myList”实例。

您可以使用 sqflite 存储它,hive or shared preferences.Try to save it under flutter shared preferences。这是您可以使用的两种方法。

使用共享首选项 1)首先创建共享偏好实例

SharedPreferences prefs = await SharedPreferences.getInstance();

然后保存相关数据type.here你需要放一个对象列表所以添加列表并使用jsonEncode将其转换为String。

Map<String,List<Item>> map={mylist.id: mylist.list};
prefs.setString("itemList", json.encode(map));

然后你可以像这样检索数据

Map<String,List<Item>> map=json.decode(prefs.getString("itemList")).asMap();

2) 使用蜂巢 首先创建hivedatabse.you这里可以任意命名

var box = Hive.box('myBox');

然后将对象添加到该数据库

var myList = myList()
..id = your id here
..list = add list here;

var name = box.add(myList);

您可以在任何地方获取此数据列表。

print(box.getAt(0));

您可以尝试 hive 包。它是一个轻量级的本地存储通道,使用 hive 是个好主意,因为它有更好的读写基准。您可以搜索配置单元的教程。或者只是阅读文档。