Hive - это преимущественно база данных в памяти с файловым кешем. Пока приложение работает, оно, вероятно, хранит объекты, которые вы поместили в него, как есть, в памяти, но сохраняет объекты в файле кэша как сериализованные двоичные данные. Это означает, что пока приложение открыто, вы получите список Person
обратно, но он не будет знать, как получить эти данные из файла кэша. В результате Hive делает все возможное, чтобы десериализовать данные и вернуть их вам как dynamic
, но без дополнительной информации это столько, сколько можно.
Если вы хотите сохранить ваши данные в целости и сохранности после Приложение закрывается, вам нужно указать Hive, как (де) сериализовать ваш тип. Для этого пометьте свой класс соответствующим образом аннотациями Hive.
@HiveType(typeId: 0)
class Person extends HiveObject {
@HiveField(0)
String name;
Person(this.name);
}