Après la mise à niveau de Flutter Run, l'application ne s'exécute pas. Je mets à jour parce que ImageStreamListener
J'ai essayé de changer autour de différents canaux [master, stable, dev] et de ne pas travailler.
J'ai trouvé ce problème dans Flutter mais ce n'est pas utile.
Voici mon flutter doctor
[✓] Flutter (Channel unknown, v1.7.11, on Mac OS X 10.14.5 18F132, locale en-PE)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 10.2.1)
[✓] iOS tools - develop for iOS devices
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.4)
[!] IntelliJ IDEA Ultimate Edition (version 2019.1)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] VS Code (version 1.36.0)
[✓] Connected device (3 available)
Et le message d'erreur
Compiler message:
file:///Users/enzoftware/Development/flutter/.pub-cache/hosted/pub.dartlang.org/palette_generator-0.1.1/lib/palette_generator.Dart:188:29: Error: The argument type 'void Function(ImageInfo, bool)' can't be assigned to the parameter type 'ImageStreamListener'.
- 'ImageInfo' is from 'package:flutter/src/painting/image_stream.Dart' ('file:///Users/enzoftware/Development/flutter/packages/flutter/lib/src/painting/image_stream.Dart').
- 'ImageStreamListener' is from 'package:flutter/src/painting/image_stream.Dart' ('file:///Users/enzoftware/Development/flutter/packages/flutter/lib/src/painting/image_stream.Dart').
Try changing the type of the parameter, or casting the argument to 'ImageStreamListener'.
stream.removeListener(imageListener);
^
file:///Users/enzoftware/Development/flutter/.pub-cache/hosted/pub.dartlang.org/palette_generator-0.1.1/lib/palette_generator.Dart:194:31: Error: The argument type 'void Function(ImageInfo, bool)' can't be assigned to the parameter type 'ImageStreamListener'.
- 'ImageInfo' is from 'package:flutter/src/painting/image_stream.Dart' ('file:///Users/enzoftware/Development/flutter/packages/flutter/lib/src/painting/image_stream.Dart').
- 'ImageStreamListener' is from 'package:flutter/src/painting/image_stream.Dart' ('file:///Users/enzoftware/Development/flutter/packages/flutter/lib/src/painting/image_stream.Dart').
Try changing the type of the parameter, or casting the argument to 'ImageStreamListener'.
stream.removeListener(imageListener);
^
file:///Users/enzoftware/Development/flutter/.pub-cache/hosted/pub.dartlang.org/palette_generator-0.1.1/lib/palette_generator.Dart:201:24: Error: The argument type 'void Function(ImageInfo, bool)' can't be assigned to the parameter type 'ImageStreamListener'.
- 'ImageInfo' is from 'package:flutter/src/painting/image_stream.Dart' ('file:///Users/enzoftware/Development/flutter/packages/flutter/lib/src/painting/image_stream.Dart').
- 'ImageStreamListener' is from 'package:flutter/src/painting/image_stream.Dart' ('file:///Users/enzoftware/Development/flutter/packages/flutter/lib/src/painting/image_stream.Dart').
Try changing the type of the parameter, or casting the argument to 'ImageStreamListener'.
stream.addListener(imageListener);
^
Compiler failed on /Users/enzoftware/Projects/Wibo/wibo-flutter-mobile-user/lib/main.Dart
FAILURE: Build failed with an exception.
* Where:
Script '/Users/enzoftware/Development/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 652
* What went wrong:
Execution failed for task ':app:compileflutterBuildDebugArm'.
> Process 'command '/Users/enzoftware/Development/flutter/bin/flutter'' finished with non-zero exit value 1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 29s
Running Gradle task 'assembleDebug'...
Running Gradle task 'assembleDebug'... Done 29.7s
Gradle task assembleDebug failed with exit code 1
Merci d'avance.
Cette API a subi un changement récent.
voici un exemple d'utilisation ancienne vs nouvelle
// get the width, height
Image image = new Image.file(myImageFile);
Completer<ImageInfo> completer = Completer();
// Old API
// image.image
// .resolve(new ImageConfiguration())
// .addListener((ImageInfo info, bool _) {
// completer.complete(info);
// });
// New API
image.image
.resolve(new ImageConfiguration())
.addListener(ImageStreamListener((ImageInfo info, bool _) {
completer.complete(info);
}));
// wait for ImageInfo to finish
ImageInfo imageInfo = await completer.future;
J'ai lutté avec cela pendant quelques jours, puis, à titre expérimental, j'ai copié le code source de zoomable_image et créé un fichier local zoomable.Dart et édité les lignes incriminées:
_imageStream.addListener(_handleImageLoaded);
_imageStream.removeListener(_handleImageLoaded);
à
_imageStream.addListener(ImageStreamListener(_handleImageLoaded));
_imageStream.removeListener(ImageStreamListener(_handleImageLoaded));
Je ne me sens pas compétent pour vérifier le fichier git et le corriger étant un débutant à git. Le propriétaire ne devrait-il pas faire cela?
J'ai obtenu la solution du lien ci-dessous:
https://github.com/renefloor/flutter_cached_network_image/issues/197
this._networkImage.image.resolve(ImageConfiguration()).addListener(
ImageStreamListener((ImageInfo image, bool synchronousCall) {
if (mounted)
setState(() => this._imageDownloadState = ImageDownloadState.Done);
}));
Et qui utilise le fichier firebase_storage_image.Dart, ce problème viendra principalement. Le code ci-dessus fonctionnera pour cela.
https://Gist.github.com/jeroen-meijer/f0996dd35065c17ac79eeb3938bc89e4