问题描述
错误:Unhandled Exception: HiveError: You need to initialize Hive or provide a path to store the Box.
基本上我的依赖中有这些,所以一切都应该很好。
hive: ^1.4.4+1
hive_Flutter: ^0.3.1
path_provider: ^1.6.27
我也有import 'package:hive/hive.dart';
和
import 'package:path_provider/path_provider.dart';
在文件中
所以我只有
void doSomething() async {
final documentDirectory = await getApplicationDocumentsDirectory();
Hive.init(documentDirectory.path);
}
打电话。
我不明白。我想我做的一切都是正确的。如果您需要其他东西,请告诉我。
解决方法
打开终端写入 扑扑酒吧得到 然后它会同步并工作
,目前path_provider不支持WEB。您可以在此处查看:path_provider。
您必须为 WEB 使用另一个目录。如果您使用 BLOC 作为状态管理,您可以执行以下操作:
if (!kIsWeb) {
// if android or tablet
HydratedBloc.storage = await HydratedStorage.build(
storageDirectory: await getApplicationDocumentsDirectory(),);
} else {
// if web
HydratedBloc.storage = await HydratedStorage.build(
storageDirectory: HydratedStorage.webStorageDirectory,);
}