首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颤振打开一个蜂箱给错误的-says框找不到,您忘记调用()了吗?

颤振打开一个蜂箱给错误的-says框找不到,您忘记调用()了吗?
EN

Stack Overflow用户
提问于 2021-06-18 00:48:46
回答 2查看 841关注 0票数 0

我有一个类,在这里我正在执行graphql设置和蜂窝框设置。这是一堂课-

代码语言:javascript
复制
class GraphQLConfiguration {
  ValueNotifier<GraphQLClient> client = new ValueNotifier<GraphQLClient>(
    GraphQLClient(
      cache:
      GraphQLCache(store: HiveStore(Hive.box(HiveStore.defaultBoxName))),
      link: HttpLink('http://localhost:4000/graphql/',),
    ),
  );
  GraphQLConfiguration()  {
    initializeHive();
  }
  void initializeHive() async {
    await initHiveForFlutter(); // or await initHiveForFlutter();
    await Hive.openBox('bolBox');
  }
}

现在我在颤振主方法中初始化这个类-

代码语言:javascript
复制
Future main() async {
   GraphQLConfiguration graphql = new GraphQLConfiguration();
}

当我运行这段代码时,我会收到一条错误消息-

错误-未处理异常: HiveError:框未找到。你忘了给Hive.openBox()打电话了吗?

我也跟着这个帖子,找不到盒子。你忘记打电话给Hive.openBox()了吗?,没帮上忙。

EN

回答 2

Stack Overflow用户

发布于 2021-06-18 06:03:38

通过使用提供程序给Hive一个主目录来初始化它

代码语言:javascript
复制
final Directory appDocDir = await getApplicationDocumentsDirectory();
Hive.init(appDocDir.path);

然后打开盒子

代码语言:javascript
复制
await Hive.openBox('bolBox');
票数 1
EN

Stack Overflow用户

发布于 2021-10-04 03:48:25

在根文件夹中添加initHiveForFlutter &它解决了问题。

代码语言:javascript
复制
void main() async{
  await initHiveForFlutter();
  runApp(MyApp());
}

为我工作过。

无需使用打开框和路径初始化,因为GraphQl在initHiveForFlutter内部处理这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68028023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档