Flutter 颤振蜂箱:制作多个openBox

Flutter 颤振蜂箱:制作多个openBox,flutter,dart,flutter-hive,Flutter,Dart,Flutter Hive,我用蜂箱制作简单的积垢;在about open box中,我们可以这样声明: var-box=wait-Hive.openBox('testBox'); 我的问题:是否可以制作多个openBox?我想要这样的东西: Future\u openBox()异步{ var dir=等待getApplicationDocumentsDirectory(); 初始化(目录路径); var-box\u session=wait-Hive.openBox(“box\u session”); var box_

我用蜂箱制作简单的积垢;在about open box中,我们可以这样声明:

var-box=wait-Hive.openBox('testBox');
我的问题:是否可以制作多个openBox?我想要这样的东西:

Future\u openBox()异步{
var dir=等待getApplicationDocumentsDirectory();
初始化(目录路径);
var-box\u session=wait-Hive.openBox(“box\u session”);
var box_comment=wait Hive.openBox(“box_comment”);
返回等待框会话,框注释;
}

是您可以返回列表
您可以复制粘贴运行下面的完整代码

代码片段

List<Box> boxList = [];
Future<List<Box>> _openBox() async {
  var dir = await getApplicationDocumentsDirectory();
  Hive.init(dir.path);
  var box_session = await Hive.openBox("box_session");
  var box_comment = await Hive.openBox("box_comment");
  boxList.add(box_session);
  boxList.add(box_comment);
  return boxList;
}
演示


在上面的回答中,为了避免错误,我建议添加数据类型而不是

var box_session = await Hive.openBox("box_session");
var box_comment = await Hive.openBox("box_comment");
提到你的数据类型

Box <int> box_session = await Hive.openBox("box_session");
Box <String> box_comment = await Hive.openBox("box_comment");
Box-Box\u session=wait-Hive.openBox(“Box\u session”);
Box\u comment=wait Hive.openBox(“Box\u comment”);
在我的例子中,我实际使用的是非原语类型的数据,在注册了两个适配器之后,我的成功代码如下

Box<Class> tempClassBoxName = await Hive.openBox('tempClassBoxName')
Box<Member> tempMembersBoxName = await Hive.openBox('tempMembersBoxName');
Box tempClassBoxName=wait-Hive.openBox('tempClassBoxName'))
Box tempMembersBoxName=等待配置单元.openBox('tempMembersBoxName');

您试过了吗?还没有试过,但我会试一下答案中的代码。如何在函数中返回2个值
Box <int> box_session = await Hive.openBox("box_session");
Box <String> box_comment = await Hive.openBox("box_comment");
Box<Class> tempClassBoxName = await Hive.openBox('tempClassBoxName')
Box<Member> tempMembersBoxName = await Hive.openBox('tempMembersBoxName');