WallPaper_ZZH_Flutter/wallpaper/lib/utils/dbmanager.dart
2024-05-15 14:33:25 +08:00

42 lines
940 B
Dart

import 'dart:io';
import 'package:hive/hive.dart';
import 'package:hive_flutter/hive_flutter.dart';
part 'dbmanager.g.dart';
@HiveType(typeId: 0)
class LocalImageInfo extends HiveObject {
@HiveField(0)
String? localUrl;
@HiveField(1)
DateTime? date;
// LocalImageInfo({required this.localUrl,required this.date});
}
class DBManager {
static late Box box;
static Future<Box> initAdapter()async {
await Hive.initFlutter();
Hive.registerAdapter(LocalImageInfoAdapter());
var downloadAlbums = await Hive.openBox('DownloadAlbums');
DBManager.box = downloadAlbums;
return downloadAlbums;
}
static addImg(String localFileName) {
var item = LocalImageInfo()
..localUrl = localFileName
..date = DateTime.now();
DBManager.box.add(item);
DBManager.box.flush();
}
static List<LocalImageInfo> allImgs() {
return DBManager.box.values.toList() as List<LocalImageInfo>;
}
}