42 lines
940 B
Dart
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>;
|
|
}
|
|
|
|
|
|
} |