【问题标题】:Flutter path_provider package error with Hive Database and null safetyFlutter path_provider 包错误与 Hive 数据库和空安全性
【发布时间】:2021-10-13 11:51:06
【问题描述】:

当我尝试将 Hive 与 path_provider 一起使用时,我的 Flutter 项目中出现此错误。有什么办法可以解决这个问题,因为我尝试在 beta 和主通道之间切换,并将 flutter sdk min 设置为 2.11。

当我调用path_provider.getApplicationDocumentsDirectory();时显示此错误

Unhandled Exception: Null check operator used on a null value
#0      MethodChannel.binaryMessenger (package:flutter/src/services/platform_channel.dart:121:86)
#1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:146:36)
#2      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:329:12)
#3      MethodChannelPathProvider.getApplicationDocumentsPath (package:path_provider_platform_interface/src/method_channel_path_provider.dart:50:10)
#4      getApplicationDocumentsDirectory (package:path_provider/path_provider.dart:138:40)
#5      initDatabase (package:translator/main.dart:16:9)
#6      main (package:translator/main.dart:11:9)
#7      _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:145:25)
#8      _rootRun (dart:async/zone.dart:1428:13)
#9      _CustomZone.run (dart:async/zone.dart:1328:19)
#10     _runZoned (dart:async/zone.dart:1863:10)
#11     runZonedGuarded (dart:async/zone.d<…>

这是我的设置:

environment:
  sdk: ">=2.12.0 <3.0.0"

...
dependencies
  hive: ^2.0.4
  hive_flutter: ^1.1.0
  path_provider: ^2.0.2

【问题讨论】:

  • platform_channel.dart:121:86 里面有什么?

标签: flutter dart flutter-web nullable


【解决方案1】:

经过搜索,我发现这样可以解决问题:

WidgetsFlutterBinding.ensureInitialized; <--- problem here, missing()


WidgetsFlutterBinding.ensureInitialized();
Directory document = await getApplicationDocumentsDirectory();

【讨论】:

    猜你喜欢
    • 2021-02-17
    • 2021-08-09
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多