我已经将数据存储在Hive框中,但是每当我重新启动应用程序或在脱机模式下终止应用程序时,即当internet连接不存在时,数据将被重置&显示为空错误。
await Hive.initFlutter();
Hive.registerAdapter<ProgressList>(ProgressListAdapter());
Hive.registerAdapter<VideoList>(VideoListAdapter());
Hive.registerAdapter<DashBoard>(DashBoardAdapter());
Hive.registerAdapter<CourseDetails>(CourseDetailsAdapter());
Hive.registerAdapter<AnnouncementsListData>(AnnouncementsListDataAdapter());
Hive.registerAdapter<VideoAssignments>(VideoAssignmentsAdapter());
Hive.registerAdapter<LessonDetail>(LessonDetailAdapter());
Hive.registerAdapter<CourseQuestions>(CourseQuestionsAdapter());
await Hive.openBox<ProgressList>("box");
await Hive.openBox<VideoList>("video_box");
await Hive.openBox<DashBoard>("dashboard_box");
await Hive.openBox<CourseDetails>("course_box");
await Hive.openBox<AnnouncementsListData>("announcement_box");
await Hive.openBox<VideoAssignments>("vfs_feedback_box");
await Hive.openBox<LessonDetail>("lesson_box");
await Hive.openBox<CourseQuestions>("questions_box");
await Hive.openBox("video_record_box");发布于 2022-11-27 16:10:33
如果您在调试模式下面临这种情况,那么您可能没有注意到调试应用程序和在发布模式中使用应用程序之间的区别。
您的应用程序可能运行良好,如果您在Android仿真器上调试您的应用程序,请确保每当您关闭模拟器,并且您希望再次打开它时,请确保每当您再次打开它时,模拟器不会清除所有的电话数据,因此它看起来像是Hive没有保存您的数据,但实际上模拟器集将在启动时清除所有的电话数据。
这与Hive的关系如何?
Hive包是一个键值数据库,它将数据保存在设备内的文件中,因此清除所有电话数据通常会清除这些文件。
您需要在一个真正的设备中尝试您的应用程序,以确保您的数据被保存,我建议您先测试一下是否在发布模式版本中。
https://stackoverflow.com/questions/74055356
复制相似问题