This commit is contained in:
bluesea 2024-05-15 14:33:25 +08:00
parent 7533826a95
commit dce5689ce4
3 changed files with 28 additions and 5 deletions

View File

@ -1,10 +1,12 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
import 'package:wallpaper/utils/dbmanager.dart';
// import 'TestApp.dart'; // import 'TestApp.dart';
import 'WallPaperApp.dart'; import 'WallPaperApp.dart';
void main() { void main() {
DBManager.initAdapter();
runApp(const WallPaperApp()); runApp(const WallPaperApp());
} }

View File

@ -1,5 +1,6 @@
import 'dart:io'; import 'dart:io';
import 'package:hive/hive.dart'; import 'package:hive/hive.dart';
import 'package:hive_flutter/hive_flutter.dart';
part 'dbmanager.g.dart'; part 'dbmanager.g.dart';
@HiveType(typeId: 0) @HiveType(typeId: 0)
@ -15,5 +16,27 @@ class LocalImageInfo extends HiveObject {
} }
class DBManager { 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>;
}
} }

View File

@ -3,6 +3,7 @@ import 'dart:io';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:image_gallery_saver/image_gallery_saver.dart'; import 'package:image_gallery_saver/image_gallery_saver.dart';
import 'package:wallpaper/utils/dbmanager.dart';
import 'package:wallpaper/utils/local_img_manager.dart'; import 'package:wallpaper/utils/local_img_manager.dart';
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
import 'package:async_wallpaper/async_wallpaper.dart'; import 'package:async_wallpaper/async_wallpaper.dart';
@ -27,10 +28,7 @@ class DownloadManager {
var fileName = await LocalImgManager.saveImgDataBytes(bytes); var fileName = await LocalImgManager.saveImgDataBytes(bytes);
// print(fileName); // print(fileName);
// //
//..... DBManager.addImg(fileName);
return true; return true;
} }
catch(error) { catch(error) {