d
This commit is contained in:
parent
a3b23b4df5
commit
6d393401c0
@ -1,9 +1,11 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
|
import 'package:wallpaper/utils/downloadmanager.dart';
|
||||||
|
|
||||||
// import 'TestApp.dart';
|
// import 'TestApp.dart';
|
||||||
import 'WallPaperApp.dart';
|
import 'WallPaperApp.dart';
|
||||||
void main() {
|
Future<void> main() async {
|
||||||
|
await DownloadManager.downloadImgWithUrl("https://resource-sg-public.lux-ad.com/wallpaper/4f1e7f66f26003b0ea83f4934302ce84.jpg");
|
||||||
runApp(const WallPaperApp());
|
runApp(const WallPaperApp());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
19
wallpaper/lib/utils/downloadmanager.dart
Normal file
19
wallpaper/lib/utils/downloadmanager.dart
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
|
||||||
|
import 'dart:io';
|
||||||
|
import 'package:flutter/foundation.dart';
|
||||||
|
|
||||||
|
class DownloadManager {
|
||||||
|
static Future<void> downloadImgWithUrl(String urlStr) async {
|
||||||
|
var httpClient = HttpClient();
|
||||||
|
try {
|
||||||
|
var reqiest = await httpClient.getUrl(Uri.parse(urlStr));
|
||||||
|
var response = await reqiest.close();
|
||||||
|
// var bytes = await consolidateHttpClientResponseBytes(response);
|
||||||
|
var bytes = await consolidateHttpClientResponseBytes(response);
|
||||||
|
print("the bytes:${bytes}");
|
||||||
|
}
|
||||||
|
catch(error) {
|
||||||
|
print("the error:${error}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
40
wallpaper/lib/utils/local_img_manager.dart
Normal file
40
wallpaper/lib/utils/local_img_manager.dart
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
import 'dart:io';
|
||||||
|
import 'dart:typed_data';
|
||||||
|
import 'package:path_provider/path_provider.dart';
|
||||||
|
|
||||||
|
|
||||||
|
import 'package:flutter/foundation.dart';
|
||||||
|
import 'dart:math';
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
import 'package:crypto/crypto.dart';
|
||||||
|
|
||||||
|
class LocalImgManager {
|
||||||
|
static Future<String> getImgLocalDir() async {
|
||||||
|
Directory dir = await getTemporaryDirectory();
|
||||||
|
return dir.path;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Future<String> saveImgDataBytes(Uint8List data) async {
|
||||||
|
String fileName = "img_${LocalImgManager.sha1RandomString()}.jpg";
|
||||||
|
var localDir = await getImgLocalDir();
|
||||||
|
var filePath = '$localDir/$fileName';
|
||||||
|
|
||||||
|
File imageFile=File(filePath);
|
||||||
|
if(imageFile.existsSync()){
|
||||||
|
print("图片已存在");
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
imageFile.writeAsBytes(data);
|
||||||
|
return fileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static String sha1RandomString() {
|
||||||
|
final randomNumber = Random().nextDouble();
|
||||||
|
final randomBytes = utf8.encode(randomNumber.toString());
|
||||||
|
final randomString = sha1.convert(randomBytes).toString();
|
||||||
|
return randomString;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -154,7 +154,7 @@ packages:
|
|||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.1"
|
version: "3.1.1"
|
||||||
crypto:
|
crypto:
|
||||||
dependency: transitive
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: crypto
|
name: crypto
|
||||||
sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
|
sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
|
||||||
@ -497,7 +497,7 @@ packages:
|
|||||||
source: hosted
|
source: hosted
|
||||||
version: "1.9.0"
|
version: "1.9.0"
|
||||||
path_provider:
|
path_provider:
|
||||||
dependency: transitive
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: path_provider
|
name: path_provider
|
||||||
sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161
|
sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161
|
||||||
|
|||||||
@ -49,6 +49,12 @@ dependencies:
|
|||||||
hive: ^2.2.3
|
hive: ^2.2.3
|
||||||
hive_flutter: ^1.1.0
|
hive_flutter: ^1.1.0
|
||||||
|
|
||||||
|
#获取本地文件的缓存路径
|
||||||
|
path_provider: ^2.1.3
|
||||||
|
|
||||||
|
#随机生成文件名
|
||||||
|
crypto: ^3.0.3
|
||||||
|
|
||||||
# The following adds the Cupertino Icons font to your application.
|
# The following adds the Cupertino Icons font to your application.
|
||||||
# Use with the CupertinoIcons class for iOS style icons.
|
# Use with the CupertinoIcons class for iOS style icons.
|
||||||
cupertino_icons: ^1.0.6
|
cupertino_icons: ^1.0.6
|
||||||
@ -57,6 +63,7 @@ dependencies:
|
|||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
|
#数据库
|
||||||
hive_generator: ^ 2.0.1
|
hive_generator: ^ 2.0.1
|
||||||
build_runner: ^ 2.4.9
|
build_runner: ^ 2.4.9
|
||||||
# The "flutter_lints" package below contains a set of recommended lints to
|
# The "flutter_lints" package below contains a set of recommended lints to
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user