Hive .g.dart 文件未生成

Posted

技术标签:

【中文标题】Hive .g.dart 文件未生成【英文标题】:Hive .g.dart file not getting generated 【发布时间】:2021-11-11 08:31:41 【问题描述】:

我想使用 Hive 作为本地数据库进行存储。 这是我的模型课

    import 'package:flutter/material.dart';
import 'package:hive/hive.dart';
part 'addForm.g.dart';

@HiveType(typeId: 0)
class AddForm extends HiveObject

  @HiveField(0)
  String title;

  @HiveField(1)
  String description;

  @HiveField(2)
  int fieldNumber;

  @HiveField(3)
  String question;

  @HiveField(4)
  Widget fieldType;

  @HiveField(5)
  bool required;


我使用这个命令:“flutter packages pub run build_runner build”来生成.g.dart文件,但它没有生成。

我尝试了所有方法,但没有任何效果,请帮忙!

【问题讨论】:

在您的情况下,可能会引发错误,因为Widget 不是HiveType。在您的终端中,您应该会看到原因。 【参考方案1】:

HiveFields 可能只有Hive 直接支持的类型或HiveTypes。 Widget 两者都不是,这就是为什么你不能保存一个小部件,除非你自己写了一个相应的适配器。

您的终端也应该将此显示为错误。

【讨论】:

【参考方案2】:

试试这个,没有 (typeId:0).. @HiveType() MyNote 类扩展 HiveObject

【讨论】:

请使用代码格式

以上是关于Hive .g.dart 文件未生成的主要内容,如果未能解决你的问题,请参考以下文章

Flutter hive:无法生成适配器文件

Flutter 生成.g.dart文件

Flutter JSON 序列化 - 不生成 *.g.dart 文件

添加 Hive 字段后 build_runner 的问题

如何使用颤振功能小部件库生成代码?

flutter 使用retrofit