Start Debugging

flutter

162 Beiträge · Seite1von17

shared_preferences vs eine JSON-Datei mit path_provider zum Speichern von Einstellungen in Flutter

shared_preferences (SharedPreferencesWithCache) für eine Handvoll flacher Flags, eine JSON-Datei in getApplicationSupportDirectory für ein strukturiertes Einstellungsobjekt. Behandelt das atomare Schreibmuster, die Race Condition bei parallelen Speichervorgängen, die Documents-Ordner-Falle unter Windows und Linux, Web-Unterstützung und gemessene Schreibkosten unter Flutter 3.44.8.

OpenAI-API aus einer Flutter-Web-App aufrufen, ohne den API-Schlüssel preiszugeben

Alles, was Sie in einen Flutter-Web-Build kompilieren, auch --dart-define-Werte, landet im Klartext im Browser. Das einzige sichere Muster ist ein kleiner Backend-Proxy, der den Schlüssel hält, den Benutzer authentifiziert, das Modell festlegt und die SSE der Responses API zurückstreamt. Vollständiger Dart-shelf-Proxy und Flutter-Client, getestet mit Flutter 3.44, Dart 3.12 und http 1.6.
2026-10-25 flutterdartios

Bildschirmausrichtung für einen einzelnen Screen in Flutter sperren (und warum iPad-Multitasking sie ignoriert)

Sperren Sie eine Flutter-Route mit SystemChrome.setPreferredOrientations auf Quer- oder Hochformat, ohne den Rest der App zu stören: eine stapelbasierte Sperre, die pushReplacement übersteht und beim Pop zurückgesetzt wird, warum die leere Liste das falsche Zurücksetzen ist, warum iPad-Multitasking und große Android-16-Bildschirme die Sperre ignorieren und was UIRequiresFullScreen nach iPadOS 26 und dem iOS-27-SDK bedeutet. Getestet mit Flutter 3.47.8, Dart 3.13.7 und Xcode 27.1.

Eine Flutter-App von Color.withOpacity auf Color.withValues migrieren (Flutter 3.27+)

Ersetzen Sie die veralteten Color.withOpacity, opacity, value, red, green, blue und alpha durch withValues, .a/.r/.g/.b und toARGB32. Was dart fix für Sie umschreibt, die vier Getter, die es stehen lässt, warum exakte Farbvergleiche in Tests und Map<Color, T>-Zugriffe nach dem Wechsel brechen und wie withOpacity unbemerkt Display P3 verwirft. Gemessen mit Flutter 3.44.8 und Dart 3.12.2.

Eine Flutter-App von WidgetsBindingObserver.didChangeAppLifecycleState auf AppLifecycleListener migrieren (Flutter 3.13+)

Handgeschriebenen WidgetsBindingObserver-Lifecycle-Code durch AppLifecycleListener ersetzen: die Zuordnung der Callbacks, die erzwungene Zustandsmaschine, der neue Zustand hidden, der exhaustive switch-Anweisungen bricht, Exit-Anfragen auf dem Desktop und der Test, der plötzlich eine Assertion auslöst. Getestet mit Flutter 3.44.8 und Dart 3.12.2.
Weiter