implemented cached network image. fixed storage issue

This commit is contained in:
2023-05-02 23:24:41 +02:00
parent fbfad603da
commit 0a10bf256c
4 changed files with 274 additions and 103 deletions
+14 -60
View File
@@ -1,3 +1,4 @@
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
@@ -5,14 +6,14 @@ class DetailPage extends StatelessWidget {
final String title;
final String datum;
final String description;
final Image? image;
final String imageUrl;
const DetailPage({
Key? key,
required this.title,
required this.datum,
required this.description,
required this.image,
required this.imageUrl,
}) : super(key: key);
@override
@@ -27,7 +28,17 @@ class DetailPage extends StatelessWidget {
children: [
Container(
padding: const EdgeInsets.all(8.0),
child: image,
child: CachedNetworkImage(
imageUrl: imageUrl,
placeholder: (context, url) => const Center(
child: SizedBox(
width: 50,
height: 50,
child: CircularProgressIndicator(),
),
),
errorWidget: (context, url, error) => Icon(Icons.error),
),
),
Container(
padding: const EdgeInsets.all(8.0),
@@ -63,60 +74,3 @@ class DetailPage extends StatelessWidget {
);
}
}
/*import 'package:flutter/material.dart';
class DetailPage extends StatelessWidget {
final String title;
final String description;
final Image? image;
const DetailPage({
super.key,
required this.title,
required this.description,
required this.image,
});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(title),
),
body: SingleChildScrollView(
child: Column(
children: [
Container(
padding: const EdgeInsets.all(8.0),
child: image,
),
Container(
padding: const EdgeInsets.all(8.0),
child: Text(
title,
style: const TextStyle(
fontSize: 24,
),
),
),
Container(
padding: const EdgeInsets.all(8.0),
child: Text(
description,
style: const TextStyle(
fontSize: 18,
),
),
),
],
),
),
);
}
}*/
+28 -12
View File
@@ -1,3 +1,4 @@
import 'package:cached_network_image/cached_network_image.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import 'DetailPage.dart';
@@ -7,14 +8,14 @@ class UserDefinedItem extends StatelessWidget {
final String title;
final String datum;
final String description;
final Image? image;
final String imageUrl;
const UserDefinedItem({
Key? key,
required this.title,
required this.description,
required this.datum,
this.image,
required this.imageUrl,
}) : super(key: key);
@override
@@ -31,7 +32,7 @@ class UserDefinedItem extends StatelessWidget {
title: title,
datum: datum,
description: description,
image: image != null ? image! : null,
imageUrl: imageUrl,
),
),
);
@@ -42,7 +43,19 @@ class UserDefinedItem extends StatelessWidget {
SizedBox(
width: 120,
height: 120,
child: image,
child: CachedNetworkImage(
imageUrl: imageUrl,
placeholder: (context, url) => const Center(
child: SizedBox(
width: 50,
height: 50,
child: CircularProgressIndicator(),
),
),
errorWidget: (context, url, error) => Icon(Icons.error),
),
),
Flexible(
flex: 1,
@@ -60,15 +73,13 @@ class UserDefinedItem extends StatelessWidget {
overflow: TextOverflow.ellipsis,
style: const TextStyle(
fontSize: 20,
fontWeight: FontWeight
.bold // beliebige Schriftgröße
),
fontWeight: FontWeight.bold),
),
),
Text(
datum,
style: const TextStyle(
fontSize: 15, // beliebige Schriftgröße
fontSize: 15,
),
),
],
@@ -76,7 +87,6 @@ class UserDefinedItem extends StatelessWidget {
),
Padding(
padding: const EdgeInsets.all(8.0),
// feste Höhe für 2 Zeilen
child: Text(
description,
maxLines: 3,
@@ -96,6 +106,12 @@ class UserDefinedItem extends StatelessWidget {
}
}
// ...
// Ändern Sie die Verwendung von Image.network in UserDefinedItem-Widgets in Ihren ListView.builder-Aufrufen:
class NewsList extends StatefulWidget {
const NewsList({Key? key}) : super(key: key);
@@ -150,7 +166,7 @@ class _NewsListState extends State<NewsList> {
title: data['title'] ?? '',
datum: formattedDate,
description: data['description'] ?? '',
image: Image.network((data['imageUrl'])),
imageUrl: data['imageUrl'] ?? '',
);
},
);
@@ -212,7 +228,7 @@ class _IssueListState extends State<IssueList> {
title: data['title'] ?? '',
datum: formattedDate,
description: data['description'] ?? '',
image: Image.network((data['imageUrl'])),
imageUrl: data['imageUrl'] ?? '',
);
},
);
@@ -272,7 +288,7 @@ class _CitizensForumState extends State<CitizensForum> {
title: data['title'] ?? '',
datum: formattedDate,
description: data['description'] ?? '',
image: Image.network((data['imageUrl'])),
imageUrl: data['imageUrl'] ?? '',
);
},
);
+231 -31
View File
@@ -5,10 +5,10 @@ packages:
dependency: transitive
description:
name: _flutterfire_internals
sha256: f175bc1414e4edf8c5b83372c98eeabecf8353f39c9da423c2cfdf1f1f508788
sha256: "6a0ad72b2bcdb461749e40c01c478212a78db848dfcb2f10f2a461988bc5fb29"
url: "https://pub.dev"
source: hosted
version: "1.1.0"
version: "1.1.1"
async:
dependency: transitive
description:
@@ -25,6 +25,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.1"
cached_network_image:
dependency: "direct main"
description:
name: cached_network_image
sha256: fd3d0dc1d451f9a252b32d95d3f0c3c487bc41a75eba2e6097cb0b9c71491b15
url: "https://pub.dev"
source: hosted
version: "3.2.3"
cached_network_image_platform_interface:
dependency: transitive
description:
name: cached_network_image_platform_interface
sha256: bb2b8403b4ccdc60ef5f25c70dead1f3d32d24b9d6117cfc087f496b178594a7
url: "https://pub.dev"
source: hosted
version: "2.0.0"
cached_network_image_web:
dependency: transitive
description:
name: cached_network_image_web
sha256: b8eb814ebfcb4dea049680f8c1ffb2df399e4d03bf7a352c775e26fa06e02fa0
url: "https://pub.dev"
source: hosted
version: "1.0.2"
change_app_package_name:
dependency: "direct main"
description:
@@ -53,26 +77,26 @@ packages:
dependency: "direct main"
description:
name: cloud_firestore
sha256: f5431cf41ab5c5e9c64e03ac2af103e10be22bf89020f394130c04b81add0010
sha256: "7e15d929d3d82774bffaf4b2c0bfc85b429fe08dff7280a601c43f309cea1ebf"
url: "https://pub.dev"
source: hosted
version: "4.5.1"
version: "4.5.3"
cloud_firestore_platform_interface:
dependency: transitive
description:
name: cloud_firestore_platform_interface
sha256: "29349a0687bc31290ab81d1de2b1cdadb40d0ea3ab30d247323c6c5be0d4c6fc"
sha256: "76ba7b9dd43ce7f07e75a2349f3eb3e2c61e1bea88fec4798c3377cccf44cd7a"
url: "https://pub.dev"
source: hosted
version: "5.12.0"
version: "5.12.1"
cloud_firestore_web:
dependency: transitive
description:
name: cloud_firestore_web
sha256: "228f1944fb3c61ddf5de3647ec5b6ed88d6aacb0a4d485ef597c1211fe98ef8b"
sha256: "0c1305722339e0b3fc0ce62bf6233b3f8762cc105a26af02171b849e6a3b3727"
url: "https://pub.dev"
source: hosted
version: "3.4.1"
version: "3.4.2"
collection:
dependency: transitive
description:
@@ -89,6 +113,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.3.3+4"
crypto:
dependency: transitive
description:
name: crypto
sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67
url: "https://pub.dev"
source: hosted
version: "3.0.2"
cupertino_icons:
dependency: "direct main"
description:
@@ -105,38 +137,54 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.3.1"
ffi:
dependency: transitive
description:
name: ffi
sha256: a38574032c5f1dd06c4aee541789906c12ccaab8ba01446e800d9c5b79c4a978
url: "https://pub.dev"
source: hosted
version: "2.0.1"
file:
dependency: transitive
description:
name: file
sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d"
url: "https://pub.dev"
source: hosted
version: "6.1.4"
firebase_auth:
dependency: "direct main"
description:
name: firebase_auth
sha256: e5254a39daab8c5bc76b17f5a161c11a7a97a3718cd314f460e2b4366c850c7d
sha256: "8c97619ed2633148c41c344a59461f23c73bf8aa477ae48296703f06d9621fb0"
url: "https://pub.dev"
source: hosted
version: "4.4.1"
version: "4.4.2"
firebase_auth_platform_interface:
dependency: transitive
description:
name: firebase_auth_platform_interface
sha256: "5d5f283517ba34afd69ef448cc81ea23bcf8887393bedae4f70f45060b045fb9"
sha256: f7db119be795d79533c503887075a0315fc3ae1da6f9a9cd4f9100a62c68859c
url: "https://pub.dev"
source: hosted
version: "6.13.0"
version: "6.13.1"
firebase_auth_web:
dependency: transitive
description:
name: firebase_auth_web
sha256: c631ec90d05c990fe971774ff12e96ee88fc3dd22839d5cab3b04c8693859116
sha256: "45687246f5be811baf3810652460acd0f3d8c98f9d8f8b1961d7cc5c15c1e803"
url: "https://pub.dev"
source: hosted
version: "5.3.1"
version: "5.3.2"
firebase_core:
dependency: "direct main"
description:
name: firebase_core
sha256: ed611fb8e67e43ecc7956f242cecca383d87cf71aace27287aa5dd4bdba4ac07
sha256: "239e4ac688674a7e7b5476fd16b0d8e2b5a453d464f32091af3ce1df4ebb7316"
url: "https://pub.dev"
source: hosted
version: "2.9.0"
version: "2.10.0"
firebase_core_platform_interface:
dependency: transitive
description:
@@ -157,31 +205,47 @@ packages:
dependency: "direct main"
description:
name: firebase_storage
sha256: a27909491c25acef90acc932be4d87bafb9d33fb98678edd2f81eaec9568a109
sha256: "50f0916a04e351ae549582e66bd33d9eb39c2ccb426e8e8c601a17471259d06f"
url: "https://pub.dev"
source: hosted
version: "11.1.0"
version: "11.1.1"
firebase_storage_platform_interface:
dependency: transitive
description:
name: firebase_storage_platform_interface
sha256: f254e064890df4ee588f10bea06d679e047018910451a4bc3c529b9791adb0a9
sha256: "2711e985fd61242914dd1253b496286b03d292c2ff0f8863cc17ed14cf1bb3da"
url: "https://pub.dev"
source: hosted
version: "4.2.0"
version: "4.2.1"
firebase_storage_web:
dependency: transitive
description:
name: firebase_storage_web
sha256: b6d3c104fecafdce5fe1795306d33856c9a11fa76f73fe7eb062430fc151d686
sha256: "16622540f424c871e71150140da6a02e9df60c9536e46d3243300f18c206cbc3"
url: "https://pub.dev"
source: hosted
version: "3.4.0"
version: "3.4.1"
flutter:
dependency: "direct main"
description: flutter
source: sdk
version: "0.0.0"
flutter_blurhash:
dependency: transitive
description:
name: flutter_blurhash
sha256: "05001537bd3fac7644fa6558b09ec8c0a3f2eba78c0765f88912882b1331a5c6"
url: "https://pub.dev"
source: hosted
version: "0.7.0"
flutter_cache_manager:
dependency: transitive
description:
name: flutter_cache_manager
sha256: "32cd900555219333326a2d0653aaaf8671264c29befa65bbd9856d204a4c9fb3"
url: "https://pub.dev"
source: hosted
version: "3.3.0"
flutter_lints:
dependency: "direct dev"
description:
@@ -194,10 +258,10 @@ packages:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
sha256: c224ac897bed083dabf11f238dd11a239809b446740be0c2044608c50029ffdf
sha256: "8ffe990dac54a4a5492747added38571a5ab474c8e5d196809ea08849c69b1bb"
url: "https://pub.dev"
source: hosted
version: "2.0.9"
version: "2.0.13"
flutter_test:
dependency: "direct dev"
description: flutter
@@ -212,10 +276,10 @@ packages:
dependency: transitive
description:
name: http
sha256: "6aa2946395183537c8b880962d935877325d6a09a2867c3970c05c0fed6ac482"
sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2"
url: "https://pub.dev"
source: hosted
version: "0.13.5"
version: "0.13.6"
http_parser:
dependency: transitive
description:
@@ -228,18 +292,18 @@ packages:
dependency: "direct main"
description:
name: image_picker
sha256: "8b0efbf350ba4f2be1531d629396a994983d0c02f4a82a128aed84d954b90cfa"
sha256: "3da954c3b8906d82ecb50fd5e2b5401758f06d5678904eed6cbc06172283a263"
url: "https://pub.dev"
source: hosted
version: "0.8.7+2"
version: "0.8.7+4"
image_picker_android:
dependency: transitive
description:
name: image_picker_android
sha256: dfb5b0f28b8786fcc662b7ed42bfb4b82a6cbbd74da1958384b10d40bdf212a7
sha256: "271e0448e82268b3fa1cb2a48e4a911cbc2135587123d7df8e7ca703c5b10da2"
url: "https://pub.dev"
source: hosted
version: "0.8.6+6"
version: "0.8.6+11"
image_picker_for_web:
dependency: transitive
description:
@@ -312,6 +376,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.8.0"
octo_image:
dependency: transitive
description:
name: octo_image
sha256: "107f3ed1330006a3bea63615e81cf637433f5135a52466c7caa0e7152bca9143"
url: "https://pub.dev"
source: hosted
version: "1.0.2"
path:
dependency: transitive
description:
@@ -320,6 +392,70 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.8.2"
path_provider:
dependency: transitive
description:
name: path_provider
sha256: c7edf82217d4b2952b2129a61d3ad60f1075b9299e629e149a8d2e39c2e6aad4
url: "https://pub.dev"
source: hosted
version: "2.0.14"
path_provider_android:
dependency: transitive
description:
name: path_provider_android
sha256: "2cec049d282c7f13c594b4a73976b0b4f2d7a1838a6dd5aaf7bd9719196bee86"
url: "https://pub.dev"
source: hosted
version: "2.0.27"
path_provider_foundation:
dependency: transitive
description:
name: path_provider_foundation
sha256: ad4c4d011830462633f03eb34445a45345673dfd4faf1ab0b4735fbd93b19183
url: "https://pub.dev"
source: hosted
version: "2.2.2"
path_provider_linux:
dependency: transitive
description:
name: path_provider_linux
sha256: "2ae08f2216225427e64ad224a24354221c2c7907e448e6e0e8b57b1eb9f10ad1"
url: "https://pub.dev"
source: hosted
version: "2.1.10"
path_provider_platform_interface:
dependency: transitive
description:
name: path_provider_platform_interface
sha256: "57585299a729335f1298b43245842678cb9f43a6310351b18fb577d6e33165ec"
url: "https://pub.dev"
source: hosted
version: "2.0.6"
path_provider_windows:
dependency: transitive
description:
name: path_provider_windows
sha256: d3f80b32e83ec208ac95253e0cd4d298e104fbc63cb29c5c69edaed43b0c69d6
url: "https://pub.dev"
source: hosted
version: "2.1.6"
pedantic:
dependency: transitive
description:
name: pedantic
sha256: "67fc27ed9639506c856c840ccce7594d0bdcd91bc8d53d6e52359449a1d50602"
url: "https://pub.dev"
source: hosted
version: "1.11.1"
platform:
dependency: transitive
description:
name: platform
sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76"
url: "https://pub.dev"
source: hosted
version: "3.1.0"
plugin_platform_interface:
dependency: transitive
description:
@@ -328,6 +464,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.4"
process:
dependency: transitive
description:
name: process
sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09"
url: "https://pub.dev"
source: hosted
version: "4.2.4"
rxdart:
dependency: transitive
description:
name: rxdart
sha256: "0c7c0cedd93788d996e33041ffecda924cc54389199cde4e6a34b440f50044cb"
url: "https://pub.dev"
source: hosted
version: "0.27.7"
sky_engine:
dependency: transitive
description: flutter
@@ -341,6 +493,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.9.1"
sqflite:
dependency: transitive
description:
name: sqflite
sha256: "8453780d1f703ead201a39673deb93decf85d543f359f750e2afc4908b55533f"
url: "https://pub.dev"
source: hosted
version: "2.2.8"
sqflite_common:
dependency: transitive
description:
name: sqflite_common
sha256: e77abf6ff961d69dfef41daccbb66b51e9983cdd5cb35bf30733598057401555
url: "https://pub.dev"
source: hosted
version: "2.4.5"
stack_trace:
dependency: transitive
description:
@@ -365,6 +533,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.2.0"
synchronized:
dependency: transitive
description:
name: synchronized
sha256: "5fcbd27688af6082f5abd611af56ee575342c30e87541d0245f7ff99faa02c60"
url: "https://pub.dev"
source: hosted
version: "3.1.0"
term_glyph:
dependency: transitive
description:
@@ -389,6 +565,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.3.1"
uuid:
dependency: transitive
description:
name: uuid
sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313"
url: "https://pub.dev"
source: hosted
version: "3.0.7"
vector_math:
dependency: transitive
description:
@@ -397,6 +581,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.4"
win32:
dependency: transitive
description:
name: win32
sha256: dd8f9344bc305ae2923e3d11a2a911d9a4e2c7dd6fe0ed10626d63211a69676e
url: "https://pub.dev"
source: hosted
version: "4.1.3"
xdg_directories:
dependency: transitive
description:
name: xdg_directories
sha256: ee1505df1426458f7f60aac270645098d318a8b4766d85fde75f76f2e21807d1
url: "https://pub.dev"
source: hosted
version: "1.0.0"
sdks:
dart: ">=2.18.2 <3.0.0"
dart: ">=2.19.0 <3.0.0"
flutter: ">=3.3.0"
+1
View File
@@ -45,6 +45,7 @@ dependencies:
firebase_storage: ^11.1.0
cloud_firestore: ^4.5.1
change_app_package_name: ^1.1.0
cached_network_image: ^3.2.3
dev_dependencies: