引入
1 2 3 4 5 6 7 8 9 10 11 12 13
| dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter # hive数据库 hive: ^1.4.4+1 # hive数据库 hive_flutter: ^0.3.1 dev_dependencies: hive_generator: ^0.8.2 build_runner: ^1.10.4
|
自动构建:flutter packages pub run build_runner build
主键:
注意:
1 2
| await Hive.openBox<UserInfoModel>(Constants.UserInfoBox);
|
修改数据,会自动触发监听:
1 2 3
| var model = Hive.box<UserInfoModel>(Constants.UserInfoBox).get(Constants.UserInfoBox); model.account = '我修改了头像'; model.save();
|
一、监听改变
1 2 3 4
| Future<void> _initUserInfo() async { await Hive.initFlutter(); await Hive.openBox(Constants.userInfoBoxName); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| @override void initState() { super.initState(); _initUserInfo(); }
@override Widget build(BuildContext context) { return ValueListenableBuilder( valueListenable: Hive.box(Constants.userInfoBoxName).listenable(), builder: (context, box, widget) { var login = box.get('isLogin', defaultValue: false); return Scaffold(
); }, ); }
|