1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
import 'package:flutter/material.dart';
import 'package:flutter_cache_manager/flutter_cache_manager.dart';
class FlutterCacheManagerPage extends StatefulWidget {
const FlutterCacheManagerPage({super.key});
@override
State<FlutterCacheManagerPage> createState() =>
_FlutterCacheManagerPageState();
}
class _FlutterCacheManagerPageState extends State<FlutterCacheManagerPage> {
final url =
'https://u7.iqiyipic.com/image/20240328/b7/69/pv_2448711522921100_d_601_480_270.jpg';
Stream<FileResponse>? fileStream;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('FlutterCacheManagerPage'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: [
const Text('FlutterCacheManager的使用'),
FutureBuilder(
future: DefaultCacheManager().getSingleFile(url),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
} else if (snapshot.hasData) {
return Image.file(snapshot.data!);
} else if (snapshot.hasError) {
debugPrint('Error: ${snapshot.error}');
return Text('Error: ${snapshot.error}');
}
return const CircularProgressIndicator();
},
),
const SizedBox(
height: 20,
),
ElevatedButton(
onPressed: () async {
await DefaultCacheManager().emptyCache();
},
child: const Text('clear all cache file'),
),
const SizedBox(
height: 20,
),
ElevatedButton(
onPressed: () async {
await DefaultCacheManager().removeFile(url);
},
child: const Text('clear single cache file'),
),
],
),
));
}
}
|