应用程序重启后无法从 Hive 检索数据

Can not retrieve data from Hive after application restart

一切正常,直到我 重新启动 应用程序(关闭应用程序并打开它)并且看不到以前保存的数据,但是如果我检查框状态它已打开并且空的。我做错了什么吗?

main.dart

void main() async {
  // init hive
  WidgetsFlutterBinding.ensureInitialized();
  await lds.init();
  // init app
  runApp(MyApp());
}

配置单元初始化文件

Future<void> init() async {
  final appDocumentDirectory = await path.getApplicationSupportDirectory();
  Hive.init(appDocumentDirectory.path);

  // registering entities
  Hive.registerAdapter(ItemModelAdapter());
}

保存和加载功能

class ItemLocalDataSource {
  static const String BOX_ITEMS = 'item-models';

  Future<List<ItemModel>> getLocalItems() async {
    await Hive.openBox(BOX_ITEMS);
    final box = Hive.box(BOX_ITEMS);
    final items = box.get(0) as List<ItemModel>;
    return items;
  }

  Future<void> setLocalItems(List<ItemModel> items) async {
    await Hive.openBox(BOX_ITEMS);
    final box = Hive.box(BOX_ITEMS);
    box.put(0, items);
    print('saved $items');
  }
}

我在 pubspec.yaml

中使用的软件包版本
  # hive (local data storage)
  hive: ^1.4.4+1
dev_dependencies:
  flutter_test:
    sdk: flutter
  # hive adapter generator
  hive_generator: ^0.8.2
  # build runner
  build_runner:

当我升级Dart SDK 时,应用程序导致了同样的问题。当我降级 Dart SDK 后,Hive 开始按预期工作。解决方案是降级 Dart SDK。我当前的 SDK 是:

Dart SDK version: 2.14.2 (stable) 

这对我有用 https://blog.logrocket.com/handling-local-data-persistence-flutter-hive/

出于某种原因,我认为模型没有处理 late 关键字? 欢迎在评论中指正我,我也想学习 :D