Flutter SharedReferences由于某种原因未保存
很抱歉所有注释掉的代码。我移动了一些方法,但是如果你在模拟器上运行它,它在重新启动后不会保存,我也不太确定如何修复它。我将发送我的项目克隆链接:。我使用此视频帮助我,以防您需要它: 非常感谢 假设Flutter SharedReferences由于某种原因未保存,flutter,Flutter,很抱歉所有注释掉的代码。我移动了一些方法,但是如果你在模拟器上运行它,它在重新启动后不会保存,我也不太确定如何修复它。我将发送我的项目克隆链接:。我使用此视频帮助我,以防您需要它: 非常感谢 假设saveData()工作正常,您可以将readData()移到main() 当应用程序重新启动时,您可以获取保存的数据 TaskData td; Future<void> main() async { WidgetsFlutterBinding.ensureInitialized();
saveData()
工作正常,您可以将readData()
移到main()
当应用程序重新启动时,您可以获取保存的数据
TaskData td;
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
SharedPreferences prefs = await SharedPreferences.getInstance();
List<String> spList = await prefs.getStringList('list') ?? [];
print('read spList: $spList');
td.taskList = spList.map((task) => Task.fromMap(jsonDecode(task))).toList();
runApp(MyApp());
}
taskdatatd;
Future main()异步{
WidgetsFlutterBinding.ensureInitialized();
SharedReferences prefs=等待SharedReferences.getInstance();
List spList=WAIT prefs.getStringList('List')??[];
打印('read spList:$spList');
td.taskList=spList.map((task)=>task.fromMap(jsonDecode(task))).toList();
runApp(MyApp());
}
我检查了您的代码,无论何时运行应用程序,您的td=TaskData(saveData)-在readData()中
&&TaskData(saveData)-这都会添加到您的构建方法中初始化
这两个对象都被初始化为不同的实例,这就是为什么在saveData()中会得到null值,并且每次都会从SharedReference中得到null数据