如何在 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 是个好主意,因为它有更好的读写基准。您可以搜索配置单元的教程。或者只是阅读文档。
即使应用程序在 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 是个好主意,因为它有更好的读写基准。您可以搜索配置单元的教程。或者只是阅读文档。