From dce5689ce4c2cbc3df8604beef2728c0a84bbf1d Mon Sep 17 00:00:00 2001 From: bluesea <307723040@qq.com> Date: Wed, 15 May 2024 14:33:25 +0800 Subject: [PATCH] fsda --- wallpaper/lib/main.dart | 2 ++ wallpaper/lib/utils/dbmanager.dart | 25 +++++++++++++++++++++++- wallpaper/lib/utils/downloadmanager.dart | 6 ++---- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/wallpaper/lib/main.dart b/wallpaper/lib/main.dart index 5a7f658..e751a8b 100644 --- a/wallpaper/lib/main.dart +++ b/wallpaper/lib/main.dart @@ -1,10 +1,12 @@ import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; +import 'package:wallpaper/utils/dbmanager.dart'; // import 'TestApp.dart'; import 'WallPaperApp.dart'; void main() { + DBManager.initAdapter(); runApp(const WallPaperApp()); } diff --git a/wallpaper/lib/utils/dbmanager.dart b/wallpaper/lib/utils/dbmanager.dart index 260ebaa..a60619d 100644 --- a/wallpaper/lib/utils/dbmanager.dart +++ b/wallpaper/lib/utils/dbmanager.dart @@ -1,5 +1,6 @@ import 'dart:io'; import 'package:hive/hive.dart'; +import 'package:hive_flutter/hive_flutter.dart'; part 'dbmanager.g.dart'; @HiveType(typeId: 0) @@ -15,5 +16,27 @@ class LocalImageInfo extends HiveObject { } class DBManager { - + static late Box box; + + static Future 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 allImgs() { + return DBManager.box.values.toList() as List; + } + + } \ No newline at end of file diff --git a/wallpaper/lib/utils/downloadmanager.dart b/wallpaper/lib/utils/downloadmanager.dart index b19f938..8c524b3 100644 --- a/wallpaper/lib/utils/downloadmanager.dart +++ b/wallpaper/lib/utils/downloadmanager.dart @@ -3,6 +3,7 @@ import 'dart:io'; import 'package:flutter/foundation.dart'; import 'package:flutter/services.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:permission_handler/permission_handler.dart'; import 'package:async_wallpaper/async_wallpaper.dart'; @@ -27,10 +28,7 @@ class DownloadManager { var fileName = await LocalImgManager.saveImgDataBytes(bytes); // print(fileName); //写入数据库信息 - //..... - - - + DBManager.addImg(fileName); return true; } catch(error) {