Die Worttrainer-Anwendung ist besonders für Grundschulkinder geeignet. Die Schüler können erraten, was das Wort des aktuell angezeigten Bildes ist und am Ende haben sie eine Statistik, bei der sie sehen können wie viele falsch, richtig und wie Bilder es insgesamt sind. Die Anwendung ist in Java geschrieben und die Ergebnisse werden in dem save.json file abgespeichert. Des weiteren wurde die Anwendung mit Gradle erstellt.
Es gibt 2 Möglichkeiten um die Anwendung zu starten. Entweder führt starten man diese über seiner IDE, oder man gibt einfach den Befehl gradle run
ein.
Der Worttrainer besteht aus 4 packages:
-
Controller
-
Grafische Oberfläche
-
Model
-
Persistenz
Der Controller führt das ganze Programm aus und ist dafür da um ebenfalls die GUI zu starten.
Er beinhaltet die Klasse TrainerController
in der eine main-Methode ausgeführt wird, welche die Anforderungen von oben beschreibt.
Die Grafische Oberfläche kümmert sich um die ganze GUI (graphical user interface). Dieses Package beinhaltet die Klasse Trainer GUI
.
Funktionen
Die Kernfunktionen der TrainerGUI
-Klasse umfassen:
- Anzeige zufälliger Wort-Einträge aus einer übergebenen Wortliste.
- Anzeige der Bilder, die mit den Wörtern verknüpft sind, wobei die Bilder von URLs geladen werden.
- Aufforderung des Benutzers zur Eingabe des entsprechenden Wortes.
- Überprüfung der Benutzereingabe, gefolgt von der Anzeige von Rückmeldungen über die Korrektheit der Eingabe und statistischen Informationen zum Trainingsfortschritt.
Die Schleife in der start
-Methode ermöglicht es dem Benutzer, das Training so lange fortzusetzen, wie gewünscht.
Das Model
Package enthält drei Java-Klassen: WortEintrag
, WortListe
und WortTrainer
, die gemeinsam zur Verwaltung und zum Training von Wörtern und Bildern verwendet werden können.
Funktionalität
- Die Klasse
WortEintrag
repräsentiert einen Wort-Eintrag, der aus einem Wort und einer URL für ein Bild besteht. - Sie verfügt über Konstruktoren zum Erstellen von Wort-Einträgen, die sowohl das Wort als auch die URL erfordern.
- Es werden Validierungsmethoden angeboten, um sicherzustellen, dass die URL gültig ist und den Anforderungen entspricht.
- Getter- und Setter-Methoden ermöglichen den Zugriff auf die Werte von Wort und URL.
- Die Methode
toString
ermöglicht die übersichtliche Darstellung eines Wort-Eintrags.
Funktionalität:
- Die Klasse
WortListe
verwaltet eine Liste von Wort-Einträgen (WortEintrag
-Objekten). - Sie bietet Konstruktoren zum Erstellen einer Wortliste, die bereits einige vordefinierte Wort-Einträge enthält.
- Sie ermöglicht das Hinzufügen von neuen Wort-Einträgen zur Liste, wobei Duplikate vermieden werden.
- Die Methode
ausgabe
gibt einen spezifischen Wort-Eintrag anhand seines Index zurück. - Es gibt eine Methode zum Löschen von Wort-Einträgen aus der Liste.
- Die Methode
toString
gibt die gesamte Wortliste übersichtlich aus. - Die Methode
leange
gibt die Anzahl der Wort-Einträge in der Liste zurück.
Funktionalität:
- Die Klasse
WortTrainer
ermöglicht das Training und die Überprüfung von Wörtern. - Sie kann auf eine
WortListe
zugreifen, um zufällige Wort-Einträge für das Training auszuwählen. - Es werden Methoden bereitgestellt, um die Eingaben des Benutzers auf Übereinstimmung mit den Wort-Einträgen zu überprüfen.
- Der Trainingsfortschritt (richtige und falsche Antworten) wird verfolgt und kann abgerufen werden.
- Die Methode
getStatistik
gibt eine Zusammenfassung der Trainingsergebnisse zurück. - Es gibt auch Methoden zum Hinzufügen einer gesamten
WortListe
und zum Festlegen des aktuellen Wort-Eintrags. - Zusätzlich können Sie den Fortschritt zurücksetzen und bestimmte Informationen abrufen.
Das Persistenz
Package enthält das Interface Persistenz
und die Klasse SpeichernUndLaden
, die für die Speicherung und das Laden von Trainingsstatistiken im Zusammenhang mit dem WortTrainer
verwendet werden.
Funktionalität:
- Das
Persistenz
Interface definiert zwei Methoden,speichern
undladen
, die verwendet werden, um Trainingsstatistiken desWortTrainers
zu speichern und wiederherzustellen.
Funktionalität:
- Die
SpeichernUndLaden
Klasse implementiert dasPersistenz
Interface und bietet die Funktionalität zum Speichern und Laden von Trainingsstatistiken in JSON-Dateien.
- Diese Methode speichert die Statistiken eines
WortTrainers
in eine JSON-Datei. - Sie erstellt ein JSON-Objekt, das Informationen wie die Anzahl der richtigen und falschen Antworten, die Anzahl der abgefragten Wörter und den aktuellen Index des Wort-Trainers enthält.
- Das JSON-Objekt wird in eine JSON-Datei mit dem Namen "save.json" geschrieben.
- Diese Methode lädt die gespeicherten Statistiken aus der JSON-Datei "save.json" zurück in einen
WortTrainer
. - Sie erstellt ein neues
WortTrainer
-Objekt und setzt die geladenen Statistiken entsprechend. - Falls keine Datei vorhanden ist, wird eine Ausnahme ausgelöst.
Diese Klassen und Methoden ermöglichen die Speicherung und das Laden von Trainingsfortschritten des WortTrainers
, was besonders nützlich ist, um Benutzerdaten zwischen Trainingssitzungen zu persistieren und den Fortschritt der Benutzer zu verfolgen.