Flutter-Vorlagen

Wie man eine AR-Sprachimmersion-App mit Flutter und Back4App erstellt

41min

Einführung

In diesem Tutorial werden Sie eine Augmented Reality (AR) Sprachimmersion-App mit Flutter und Back4App erstellen. Die App nutzt AR-Technologie, um Objekte über die Kamera des Geräts zu erkennen, Übersetzungen zu überlagern, kulturelle Informationen bereitzustellen und den Fortschritt der Benutzer zu verfolgen. Am Ende dieses Tutorials haben Sie eine funktionale App, die Benutzern hilft, neue Sprachen in realen Kontexten zu lernen.

Voraussetzungen

Um dieses Tutorial abzuschließen, benötigen Sie:

  • Flutter installiert auf Ihrem lokalen Rechner. Wenn Sie es noch nicht eingerichtet haben, folgen Sie der Flutter-Installationsanleitung.
  • Ein Back4App-Konto. Melden Sie sich für ein kostenloses Konto bei Back4App an.
  • Eine Back4App-Anwendung. Erstellen Sie eine neue App, indem Sie der Getting Started with Back4App-Anleitung folgen.
  • Grundkenntnisse in Dart und Flutter. Machen Sie sich gegebenenfalls mit der Dokumentation von Flutter vertraut.
  • Grundverständnis von RESTful APIs und asynchroner Programmierung in Dart.

Schritt 1 – Einrichten des Flutter-Projekts

Zuerst richten Sie ein neues Flutter-Projekt ein, in dem Sie die AR-Sprachimmersion-App entwickeln werden.

1.1. Erstellen Sie ein neues Flutter-Projekt

Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus:

Bash


Dieser Befehl erstellt ein neues Flutter-Projekt mit dem Namen ar_language_immersion_app.

1.2. Öffnen Sie das Projekt in Ihrer IDE

Navigieren Sie zum Projektverzeichnis und öffnen Sie es in Ihrer bevorzugten IDE (z. B. Visual Studio Code, Android Studio):

Bash


Schritt 2 – Konfigurieren des Back4App-Backends

Richten Sie Ihr Backend auf Back4App ein, um Benutzerdaten, Übersetzungen, kulturelle Informationen und die Verfolgung des Benutzerfortschritts zu verwalten.

2.1. Erstellen Sie eine neue Anwendung auf Back4App

  1. Melden Sie sich bei Ihrem Back4App-Konto an.
  2. Klicken Sie auf "Neue App erstellen".
  3. Geben Sie "AR Language Immersion App" als App-Namen ein.
  4. Klicken Sie auf "Erstellen".

2.2. Einrichten des Datenmodells

Definieren Sie die Klassen gemäß dem Datenmodell:

  • Benutzer
  • ErkennbaresObjekt
  • Übersetzung
  • KulturInfo
  • BenutzerFortschritt

2.2.1. Erstellen Sie die Benutzerklasse

Die Benutzer-Klasse ist eine Standardklasse in Back4App zur Handhabung der Benutzerauthentifizierung.

  1. Navigieren Sie zu Core > Browser in Ihrem Back4App-Dashboard.
  2. Sie werden die _Benutzer-Klasse bereits verfügbar sehen.

2.2.2. Erstellen Sie die RecognizableObject-Klasse

  1. Klicken Sie auf "Klasse erstellen".
  2. Wählen Sie "Benutzerdefiniert" und benennen Sie es "RecognizableObject".
  3. Klicken Sie "Klasse erstellen".

Fügen Sie die folgenden Spalten hinzu:

  • Name (String)
  • Kategorie (String)
  • ImageReference (Datei)

2.2.3. Erstellen Sie die Translation-Klasse

  1. Erstellen Sie eine weitere Klasse mit dem Namen "Translation".
  2. Fügen Sie die folgenden Spalten hinzu:
  • objectId (String) [Standard]
  • ObjectID (Zeiger auf RecognizableObject)
  • LanguageCode (String)
  • TranslatedText (String)
  • PronunciationGuide (String)
  • AudioFileReference (Datei)

2.2.4. Erstellen Sie die CulturalInfo-Klasse

  1. Erstellen Sie eine Klasse mit dem Namen "CulturalInfo".
  2. Fügen Sie die folgenden Spalten hinzu:
  • ObjectID (Zeiger auf RecognizableObject)
  • LanguageCode (String)
  • ShortDescription (String)
  • DetailedInformation (String)
  • RelatedMediaReferences (Array von Dateien)

2.2.5. Erstellen Sie die UserProgress-Klasse

  1. Erstellen Sie eine Klasse mit dem Namen "UserProgress".
  2. Fügen Sie die folgenden Spalten hinzu:
  • Benutzer-ID (Zeiger auf Benutzer)
  • ErkannteObjekte (Array von erkennbaren Objekt-IDs)
  • ÜbersetzungenAngesehen (Array von Übersetzungs-IDs)
  • KulturelleInfoZugriff (Array von kulturellen Info-IDs)
  • Lernphasen (Zahl)
  • Fähigkeitswerte (Wörterbuch)

2.3. Anwendungs-Schlüssel abrufen

  1. Gehe zu App-Einstellungen > Sicherheit & Schlüssel.
  2. Notiere deine Anwendungs-ID und Client-Schlüssel; du wirst sie benötigen, um Parse in deiner Flutter-App zu initialisieren.

Schritt 3 – Integration des Parse SDK in Flutter

Integrieren Sie das von Back4App bereitgestellte Parse SDK in Ihr Flutter-Projekt, um mit dem Backend zu kommunizieren.

3.1. Abhängigkeiten hinzufügen

Öffnen Sie pubspec.yaml und fügen Sie die folgenden Abhängigkeiten hinzu:

YAML


Führen Sie den Befehl aus:

Bash


Hinweis: Da es kein offizielles AR-Plugin mit dem Namen augmented_reality_plugin, müssen Sie möglicherweise Plugins wie arcore_flutter_plugin für Android und arkit_plugin für iOS verwenden. Passen Sie dies entsprechend Ihren Zielplattformen an.

3.2. Initialisieren Sie Parse in Ihrer App

In lib/main.dart, initialisiere Parse beim Start der App:

Dart


Ersetze 'YOUR_APPLICATION_ID' und 'YOUR_CLIENT_KEY' mit den Schlüsseln, die du von Back4App erhalten hast.

Schritt 4 – Implementierung der Benutzerauthentifizierung

Implementieren Sie die Benutzerregistrierungs- und Anmeldefunktionen.

4.1. Erstellen Sie den Authentifizierungsbildschirm

Erstellen Sie eine neue Datei lib/screens/auth_screen.dart.

Dart


4.2. Aktualisierung main.dart um Routen einzuschließen

In lib/main.dart, aktualisieren Sie Ihre MaterialApp um Routen einzuschließen:

Dart


Schritt 5 – Implementierung der AR-Objekterkennung

Richten Sie die AR-Funktionalität ein, um Objekte mit der Kamera des Geräts zu erkennen.

5.1. Berechtigungen einrichten

Für sowohl Android als auch iOS müssen Sie Kameraberechtigungen anfordern.

Android

In android/app/src/main/AndroidManifest.xml, hinzufügen:

XML


iOS

In ios/Runner/Info.plist, hinzufügen:

XML


5.2. Implementieren Sie die AR-Ansicht

Erstellen Sie eine neue Datei lib/screens/ar_view_screen.dart.

Dart


Hinweis: Die Implementierung der vollständigen AR-Objekterkennung ist komplex und kann die Integration mit maschinellen Lernmodellen wie TensorFlow Lite oder die Verwendung von Plattformen wie Googles ML Kit erfordern. Für dieses Tutorial werden wir die Objekterkennung simulieren.

5.3. Objekterkennung simulieren

Zu Demonstrationszwecken werden wir die Objekterkennung simulieren, indem wir vordefinierte Objekte anzeigen.

Aktualisieren Sie ar_view_screen.dart:

Dart


Schritt 6 – Übersetzungsüberlagerungen anzeigen

Übersetzungen von Back4App abrufen und als Überlagerungen anzeigen.

6.1. Übersetzungsdaten abrufen

In ar_view_screen.dart, fügen Sie eine Methode hinzu, um Übersetzungen abzurufen:

Dart


6.2. UI aktualisieren, um die Übersetzung anzuzeigen

Ändern Sie die build Methode:

Dart


Schritt 7 – Bereitstellung kultureller Informationen

Abrufen und Anzeigen kultureller Informationen, die mit dem erkannten Objekt verbunden sind.

7.1. Kulturelle Informationen abrufen

Fügen Sie eine Methode in ar_view_screen.dart:

Dart


7.2. UI aktualisieren, um kulturelle Informationen anzuzeigen

Ändern Sie die build Methode:

Dart


Schritt 8 – Benutzerfortschritt verfolgen

Aktualisieren Sie den Fortschritt des Benutzers jedes Mal, wenn er eine Übersetzung oder kulturelle Informationen anzeigt.

8.1. Benutzerfortschritt in Back4App aktualisieren

Fügen Sie eine Methode hinzu, um den Fortschritt zu aktualisieren:

Dart


8.2. updateUserProgress aufrufen, wenn ein Objekt erkannt wird

In setState wo selectedObject aktualisiert wird:

Dart


Schritt 9 – Offline-Modus implementieren

Stellen Sie sicher, dass die App ohne Internetverbindung für die Kernfunktionen funktionieren kann.

9.1. Daten lokal zwischenspeichern

Verwenden Sie eine lokale Datenbank wie sqflite oder hive um Übersetzungen und kulturelle Informationen zu speichern.

Fügen Sie die hive Abhängigkeit in pubspec.yaml:

YAML


Initialisieren Sie Hive in main.dart:

Dart


9.2. Datenabrufmethoden anpassen, um Cache zu verwenden

Aktualisieren Sie die getTranslation Methode:

Dart


Wiederholen Sie ähnliche Schritte für getCulturalInfo.

Schritt 10 – Testen und Bereitstellung

Testen Sie die App gründlich und bereiten Sie sie auf die Bereitstellung vor.

10.1. Testen auf physischen Geräten

Da AR-Funktionen Kamerazugriff erfordern, testen Sie die App auf echten Geräten.

10.2. Leistung optimieren

  • Verwenden Sie effiziente Datenstrukturen.
  • Minimieren Sie unnötige Neuzeichnungen in der Benutzeroberfläche.
  • Optimieren Sie Bild- und Medienressourcen.

10.3. Vorbereitung auf die Bereitstellung

  • Aktualisieren Sie App-Icons und Splashscreens.
  • Konfigurieren Sie die App-Berechtigungen.
  • Erstellen Sie Release-Versionen für Android und iOS.

Verweisen Sie auf die offizielle Dokumentation von Flutter zu Erstellung und Veröffentlichung für weitere Details.

Fazit

Herzlichen Glückwunsch! Sie haben eine AR-Sprachimmersion-App mit Flutter und Back4App erstellt. Die App erkennt Objekte, zeigt Übersetzungen und kulturelle Informationen an, verfolgt den Fortschritt der Benutzer und funktioniert offline. Sie können die App weiter verbessern, indem Sie die echte AR-Objekterkennung integrieren, weitere Sprachen hinzufügen und die UI/UX verbessern.

Für weitere Informationen zu erweiterten Funktionen sollten Sie Folgendes erkunden:

  • Integration von Machine Learning-Modellen: Verwenden Sie TensorFlow Lite für die Objekterkennung auf dem Gerät.
  • Verbesserung der AR-Funktionen: Nutzen Sie Plugins wie arcore_flutter_plugin oder arkit_plugin für reichhaltigere AR-Erlebnisse.
  • Implementierung von Text-to-Speech: Fügen Sie Sprachsynthese für Aussprachehilfen mit Paketen wie flutter_tts hinzu.
  • Verbesserung der Benutzer-Authentifizierung: Implementieren Sie soziale Logins oder eine Zwei-Faktor-Authentifizierung.

Durch den Bau dieser App haben Sie Erfahrung in der Flutter-Entwicklung, der Backend-Integration mit Back4App und grundlegenden Funktionen wie Offline-Daten-Caching und Benutzerfortschrittsverfolgung gesammelt. Erkunden Sie weiter und verbessern Sie Ihre App, um ein noch ansprechenderes Spracherlebnis zu schaffen.