Erstellen einer Drag-and-Drop Flutter-App mit draggable Widgets und Back4App
Interaktive Drag-and-Drop-Oberflächen verbessern das Benutzererlebnis, indem sie es den Benutzern ermöglichen, UI-Elemente intuitiv zu manipulieren. Flutter bietet die Draggable und DragTarget Widgets, um solche Interaktionen zu erstellen. In diesem Tutorial lernen Sie, wie Sie eine Flutter-Anwendung erstellen, die Draggable Widgets verwendet, um Elemente zwischen Listen zu verschieben, mit Datenpersistenz über Back4App—einem Backend-as-a-Service, das von Parse Server betrieben wird.
Am Ende dieses Tutorials haben Sie eine funktionale Flutter-App, in der Benutzer Elemente von einer Liste in eine andere ziehen können, und die Änderungen werden in Back4App gespeichert und abgerufen. Dieses Tutorial ist für Flutter-Entwickler aller Erfahrungsstufen geeignet.
Um dieses Tutorial abzuschließen, benötigen Sie:
- Flutter SDK auf Ihrem Computer installiert. Befolgen Sie die offizielle Flutter-Installationsanleitung für Ihr Betriebssystem.
- Grundkenntnisse in Flutter und Dart. Wenn Sie neu bei Flutter sind, lesen Sie die Flutter-Dokumentation durch, um sich mit den Grundlagen vertraut zu machen.
- Eine IDE oder einen Texteditor wie Visual Studio Code oder Android Studio.
- Parse Server SDK für Flutter in Ihr Projekt integriert. Erfahren Sie, wie Sie es einrichten, indem Sie die Back4App Flutter SDK-Anleitung befolgen.
Wir werden eine Aufgabenverwaltungs-App erstellen, in der Aufgaben von einer "Zu erledigen"-Liste in eine "Abgeschlossen"-Liste und umgekehrt gezogen werden können. Die App wird:
- Verwenden Sie Draggable Widgets, um das Ziehen von Aufgaben zu ermöglichen.
- Verwenden Sie DragTarget Widgets, um Ablagezonen zu definieren.
- Speichern und abrufen von Aufgaben von Back4App, um Daten zu persistieren.
Öffnen Sie Ihr Terminal und führen Sie aus:
Navigieren Sie zum Projektverzeichnis:
Öffnen Sie pubspec.yaml und fügen Sie die folgenden Abhängigkeiten hinzu:
Führen Sie flutter pub get aus, um die Pakete zu installieren.
- Klicken Sie auf "Neue App erstellen".
- Geben Sie einen Namen für Ihre Anwendung ein, z.B. "DragDropApp", und klicken Sie auf "Erstellen".
- Navigieren Sie in Ihrem Anwendungs-Dashboard zum "Datenbank"-Bereich.
- Klicken Sie auf "Klasse erstellen".
- Im Modal:
- Wählen Sie "Benutzerdefiniert".
- Geben Sie "Aufgabe" als Klassennamen ein.
- Klicken Sie auf "Klasse erstellen".
- Klicken Sie in der "Aufgabe"-Klasse auf "+" um neue Spalten hinzuzufügen.
- Fügen Sie die folgenden Spalten hinzu:
- titel: Typ String
- status: Typ String
- Fügen Sie einige Beispieldaten zur "Aufgabe"-Klasse hinzu. Zum Beispiel:
- Navigieren Sie zu App-Einstellungen > Sicherheit & Schlüssel.
- Notieren Sie sich Ihre Anwendungs-ID und Client-Schlüssel.
Öffnen Sie lib/main.dart und ändern Sie es wie folgt:
- Ersetzen Sie 'IHRE_ANWENDUNGS_ID' und 'IHRE_CLIENT_KEY' durch Ihre tatsächlichen Back4App-Anmeldeinformationen.
Erstellen Sie ein neues Verzeichnis namens models unter lib und fügen Sie eine Datei mit dem Namen task.dart:
Erstellen Sie ein neues Verzeichnis namens services unter lib und fügen Sie eine Datei mit dem Namen task_service.dart:
Erstellen Sie ein neues Verzeichnis namens screens unter lib und fügen Sie eine Datei mit dem Namen home_page.dart:
- Startseite: Der Hauptbildschirm, der zwei Spalten anzeigt—"Zu erledigen" und "Abgeschlossene" Aufgaben.
- AufgabenSpalte: Ein Widget, das Aufgaben anzeigt und als ein DragTarget für Draggable Aufgaben fungiert.
- AufgabenKarte: Ein Widget zur Anzeige von Informationen zu einzelnen Aufgaben.
Führen Sie in Ihrem Terminal aus:
- Ziehen Sie eine Aufgabe aus der Spalte "Zu erledigen" und lassen Sie sie in die Spalte "Abgeschlossen" fallen.
- Der Status der Aufgabe sollte aktualisiert werden, und sie sollte unter "Abgeschlossen" erscheinen.
- Die Änderung bleibt in Back4App bestehen; wenn Sie die App neu starten, bleibt die Aufgabe in ihrem neuen Status.
In diesem Tutorial haben Sie gelernt, wie Sie Drag-and-Drop-Funktionalität in einer Flutter-Anwendung mit Draggable und DragTarget-Widgets implementieren. Sie haben Back4App integriert, um Aufgabendaten zu speichern und abzurufen, was eine Datenpersistenz über Sitzungen hinweg ermöglicht. Diese interaktive App zeigt, wie man das Benutzererlebnis mit intuitiven UI-Elementen und einem skalierbaren Backend verbessern kann.
- Zugängliche Widgets: Ermöglichen Sie Benutzern, UI-Elemente zu ziehen.
- DragTarget Widgets: Definieren Sie Ablagezonen für ziehbare Elemente.
- Back4App Integration: Bietet ein Backend zur Speicherung und Verwaltung von Daten.
- Authentifizierung hinzufügen: Implementieren Sie die Benutzerauthentifizierung, um personalisierte Aufgabenlisten zu haben.
- UI/UX verbessern: Fügen Sie Animationen, benutzerdefinierte Symbole und verbesserte Layouts hinzu.
- Echtzeit-Updates: Verwenden Sie die Live-Abfragen von Back4App, um Aufgaben in Echtzeit auf mehreren Geräten zu aktualisieren.
- Fehlerbehandlung: Implementieren Sie die Fehlerbehandlung für Netzwerkprobleme und Datenkonflikte.
Viel Spaß beim Programmieren!