我已经将数据存储在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");
1条答案
按热度按时间0mkxixxg1#
如果您在调试模式下遇到这种情况,那么您可能不会注意到调试应用程序和在发布模式下使用应用程序之间的区别。
您的应用可能运行良好,例如,如果您在Android模拟器上调试应用,请确保无论何时关闭模拟器,如果您想再次打开它,请确保模拟器不会在您再次打开它时清除所有手机数据,这样看起来
Hive
没有保存您的数据,但实际上模拟器设置为在启动时清除所有手机数据。这与
Hive
有何关系:Hive
包是一个键-值数据库,它将数据保存在设备内的文件中,因此清除所有电话数据通常会清除这些文件。你需要在真实的设备上尝试你的应用程序,以确保你的数据被保存,我建议你先在发布模式版本中进行测试。