我在我的颤振应用程序中使用 hive 作为我的 NoSQL 本地数据库。
以下是我的 Hive 类:
import 'dart:convert';
import 'package:hive/hive.dart';
import 'package:lpa_exam/src/model/listofexams.dart';
import 'package:lpa_exam/src/model/profile.dart';
part 'hiveprofile.g.dart';
@HiveType()
class PersonModel extends HiveObject{
@HiveField(0)
String language;
@HiveField(1)
String examName;
@HiveField(2)
int examId;
@HiveField(3)
Profile profile;
@HiveField(4)
ListExam listexam;
@override
String toString() {
return jsonEncode({
'language': language,
'examName': this.examName,
'examId': examId,
'profile': profile,
'listexam': listexam
});
}
PersonModel(
this.language, this.examName, this.examId, this.profile, this.listexam);
}
所以,我的要求是每次成功登录时我都应该更新配置文件对象。但为此,我还必须设置所有其他人。
我怎样才能只更新配置文件对象?
代码:
_personBox = Hive.openBox('personBox');
await _personBox.then((item) {
if (!item.isEmpty) {
print('empty');
item.putAt(0, PersonModel(...,..,..,..,...,..));
}
});
我正在使用蜂巢版本1.2.0
。
参考:https ://resocoder.com/2019/09/30/hive-flutter-tutorial-lightweight-fast-database/