62
Bachelorarbeit Mobin Meiwandi Eine mobile Applikation zur Umsetzung des Lernkonzepts von Flashcards basierend auf Android und XML Fakultät Technik und Informatik Studiendepartment Informatik Faculty of Engineering and Computer Science Department of Computer Science

Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

BachelorarbeitMobin Meiwandi

Eine mobile Applikation zur Umsetzung des Lernkonzepts vonFlashcards basierend auf Android und XML

Fakultät Technik und InformatikStudiendepartment Informatik

Faculty of Engineering and Computer ScienceDepartment of Computer Science

Page 2: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

Mobin Meiwandi

Eine mobile Applikation zur Umsetzung des Lernkonzepts vonFlashcards basierend auf Android und XML

Bachelorarbeit eingereicht im Rahmen der Bachelorprüfung

im Studiengang Bachelor of Science Technische Informatik

am Department Informatik

der Fakultät Technik und Informatik

der Hochschule für Angewandte Wissenschaften Hamburg

Betreuender Prüfer: Prof. Dr. Ulrike Ste�ens

Zweitgutachter: Prof. Dr. Philipp Jenke

Eingereicht am: 3. April 2014

Page 3: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

Mobin Meiwandi

Thema der ArbeitEine mobile Applikation zur Umsetzung des Lernkonzepts von Flashcards basierend auf An-

droid und XML

StichworteFlashcards, Lernkartei, Karteikarte, Android, XML, Lernkonzept, mobile Applikation, lernen

KurzzusammenfassungIn dieser Bachelor-Thesis wird eine mobile Applikation erstellt, die das Lernkonzept von

Flashcards umsetzt. Schlüsseltechnologien für die Umsetzung der Applikation sind Android

und XML. Es werden Anforderungen an eine solche Applikation gestellt, die im Laufe der Arbeit

erfüllt werden. Mit Hilfe einer Web-Applikation soll es der Lehrkraft möglich sein, Lerninhalte

für Lernende zur Verfügung zu stellen. Themen und Karten werden von der Lehrkraft erstellt.

Der Lernende kann mit Hilfe eines mobilen Gerätes auf die Themen und Karten zugreifen. In

der Arbeit soll das Design der kompletten Anwendung präsentiert werden, dabei wird auf die

GUI-Gestaltung und die Kommunikation zwischen Web-Applikation und Android-Applikation

eingegangen.

Mobin Meiwandi

Title of the paperAn Android- and XML-based mobile application implementing the learning concept of Flash-

cards

Keywords�ashcards, notecard, Android, XML, learning concept, mobile application, learn, study

AbstractIn this bachelor-thesis, a mobile application is created which implements the concept of learning

with �ashcards. Key technologies for the implementation of the application are Android and

XML.The thesis lists requirements for such an application, which are statisfy in the course of

this work. With the help of a web-application it is possible for a teacher to provide learning

content for learners. Topics and cards will created by the teacher.The learner has access to the

topics and cards making use of moble devices. This thesis presents the design of the entire

application, thereby will be discussed the GUI design and the communication between web

application and Android application.

Page 4: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

Inhaltsverzeichnis

1 Einleitung 11.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Ziel dieser Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.3 Aufbau dieser Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Grundlagen 32.1 Begri�serklärung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.2 Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.3 XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Analyse 73.1 Karteikartensystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.1.1 Lernstrategien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.2 Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.3 Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.4 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4 Design 184.1 Applikationsentwurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.2 GUI Gestaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.2.1 Web-Applikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.2.2 Android-App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.3 Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.3.1 Nachrichtenformat XML . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.3.2 Datenbankmodellierung . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5 Realisierung 375.1 Android-App Entwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.2 Web-Applikation Entwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.3 Bibliotheken und Hilfsprogramme . . . . . . . . . . . . . . . . . . . . . . . . . 50

6 Schluss 516.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

6.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

iv

Page 5: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

1 Einleitung

Auch wenn in vielen Lernsituationen heute das Erarbeiten von handlungsorientiertem Wissen

in den Vordergrund gestellt wird, so basiert doch auch dieses meist auf einem soliden Fakten-

wissen, dass sich Lernende sei es in der Schule, sei es in der Ausbildung oder Studium erarbeiten

muss. Hierzu zählen beispielsweise das Lernen von Vokabeln in der Schule oder das Lernen

von Fachbegri�en und grundsätzlichen Zusammenhängen im Studium. Eine Lernmethodik,

die es erlaubt, Fakten möglich einfach und e�zient zu lernen, erleichtert dem Lernenden das

Lernen insgesamt, da sie Kapazitäten freisetzt, die dann gezielt auch zum handlungsorientierten

Lernen genutzt werden können.

In dieser Arbeit soll ein Lernsystem auf einer benutzerfreundlichen, elektronischen Plattform

entwickelt werden, um so den Lernenden eine Methodik anzubieten, die ihm beim Lernen von

Faktenwissen hilft. Die Einfachheit der Anwendung soll hierbei im Vordergrund stehen.

1.1 Motivation

Wie in der Einleitung angedeutet, stellt das ständige Lernen von Faktenwissen in verschiedenen

Lebensphasen eines Menschen eine Motivation dar, eine geeignete Anwendung zu erstellen,

die ihn unterstützt. Mobile Endgeräte, über die heute viele Lernender verfügen, ermöglichen

es, zu fast jeder Zeit an fast jedem Ort ohne großen Aufwand lernen zu können. Die gegebenen

technischen Möglichkeiten stellen daher eine weitere Motivation für die vorliegende Arbeit

dar.

1.2 Ziel dieser Arbeit

Ziel dieser Arbeit ist es, eine Anwendung zu scha�en, die Lernende beim Lernen von neuem

Faktenwissen unterstützt. Vor allem soll die Anpassung der Anwendung an die heutige Zeit,

sprich die Ausführung und Benutzung der Anwendung über mobilen Geräte in dieser Arbeit

integriert werden.

1

Page 6: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

1 Einleitung

1.3 Aufbau dieser Arbeit

Die Arbeit ist in sechs Kapitel gegliedert, wovon das erste diese Einleitung ist.

Im zweiten Kapitel werden die Grundlagen der Arbeit vorgestellt. Diese sollen einen bes-

seren Einstieg sowie ein einheitliches Verständnis scha�en., um einen besseren Einstieg in die

Arbeit sowie ein einheitlichen Verständnis der für diese Arbeit relevanten Begri�e zu erhalten.

Im dritten Kapitel beginnt die Analyse der zu entwickelnden Anwendung. Sie dient dazu,

die richtigen Anforderungen an die Anwendung zu �nden und mögliche Use Cases zu formu-

lieren. Nach der Analyse folgt das vierte Kapitel.

Das vierte Kapitel beschäftigt sich mit dem Design der zu entwickelnden Anwendung. Es

werden standardisierte Software-Engineering Methoden angewendet, um die Anwendung zu

beschreiben. Dabei wird auf die GUI-Gestaltung und die Kommunikationswege der Applikation

eingegangen.

Im fünften Kapitel wird die Realisierung präsentiert. Die tatsächlichen Komponenten der

Anwendung werden vorgestellt und, um die Realisierung besser zu verstehen, werden ausge-

wählte Code-Abschnitte präsentiert und erklärt. Das letzte Kapitel ist eine Zusammenfassung

der Arbeit, zudem werden Verbesserungen bzw. Erweiterungsmöglichkeiten im Ausblick vor-

gestellt.

2

Page 7: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

2 Grundlagen

In diesem Kapitel werden die Grundlagen beschrieben, um ein besseres Verständnis beim

Lesen der Arbeit zu erhalten. Es wird zunächst auf einige für die Arbeit relevante Begri�e

eingegangen. Das Betriebssystem Linux wird vorgestellt, ebenso wie das Datenaustauschformat

XML.

2.1 Begri�serklärung

In diesem Abschnitt werden einige Begri�e erklärt.

• FlashCard: FlashCard ist ein Begri� aus dem Englischen und bedeutet Lernkartei.

FlashCards können Karten sein, die zum systematischen Lernen eingesetzt werden.

Typischerweise beinhaltet eine Karte, eine Frage und Antwort.

• Mobile Geräte: Wird in dieser Arbeit von mobilen Geräten gesprochen, so sind alle

Geräte gemeint, die Touchgestiken wahrnehmen können. Beispiele: Smartphones und

Tablets.

• Web-Applikation: Eine Web-Applikation ist eine Anwendung, die mit Hilfe eines Brow-

sers bedient werden kann. Solche Anwendungen können verschiedene Aufgaben und

Services ausführen. Inhalte und Programmcode sind auf einem Webserver gespeichert.

Web-Applikationen sind vom Betriebssystem unabhängig.

• Android-Applikation: Eine Android-Applikation ist eine Anwendung, die für das

Betriebssystem Android entwickelt wurde. Nur Geräte, die das Betriebssystem Android

unterstützen, können die Anwendung ausführen und bedienen.

• Touchgestiken: Touchgestiken sind verschiedene Gestiken, die mittels Berührung

ausgeführt werden. Touchgestiken werden bei Geräten mit einer touchemp�ndlichen

Ober�äche eingesetzt. Hinter jeder Touchgestik können verschiedene Aktionen interpre-

tiert werden. Verschiedene Arten von Gestiken sind möglich, so kann beispielsweise das

3

Page 8: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

2 Grundlagen

Wischen von Rechts nach Links, das Blättern zur nächsten Seite bedeuten. von Rechts

nach Links auf einer Buch-Applikation, kann das Blättern zur nächsten Seite bedeuten.

• File Chooser: Ein File Chooser ist ein Dateimanager, der genutzt wird, um die Inhalte

eines Dateisystems zu verwalten. Folgende Aktionen können mit Hilfe eines File Choo-

sers verwirklicht werden: Löschen, Kopieren, Verschieben, Au�isten von Dateien und

Verzeichnissen. Eine Rechteverwaltung von Dateien wird ebenfalls durch einen File

Chooser verwirklicht.

• GUI: GUI steht für „Graphical User Interface“ und ist abstrakt gesehen eine Schnittstelle

für den Benutzer, um mit einem System zu interagieren. Eine GUI ist eine gra�sche

Benutzerober�äche.

• XML: XML steht für „Extensible Markup Language“ und kann eingesetzt werden, um

Inhalt zwischen Systemen auszutauschen. Die Darstellung eines XML-Dokuments ist

hierarchisch und strukturiert.

• Parser: Ein Parser ist eine Anwendung, die Daten entgegennimmt und diese für ein Sys-

tem in ein brauchbares Format umwandelt oder zerlegt. Parser haben feste syntaktische

Regeln zur Durchführung ihrer Arbeit.

2.2 Android

Android ist ein Linux-basiertes Betriebssystem und die Software-Plattform von Google. Andro-

id ist stark auf mobilen Geräten verbreitet und für solche Anwendungen optimiert. Durch die

Architektur von Android lassen sich jedoch auch Anwendungen für andere Geräte entwickeln

(Künneth (2012)). Durch folgende Gra�k (2.1) lässt sich Android am besten erklären:

4

Page 9: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

2 Grundlagen

Abbildung 2.1: Aufbau der Android-Plattform

Quelle: Wikipedia (2014a)

Der rote Bereich unten stellt den Linux Kernel dar. Der Linux Kernel ist das Fundament

von Android. Aufbauend auf dem Linux Kernel gibt es verschiedene Bibliotheken, die von

Android zur Verfügung gestellt werden. Diese Bibliotheken sind in C/C++ geschrieben und der

Entwickler greift indirekt über das Android-Application Framework darauf zu. Das Application

Framework ist, wie schon erwähnt, eine Schnittstelle für den Entwickler und stellt eine Basis

für die Entwicklungsarbeit dar. Durch das Application Framework wird dem Entwickler die

Erstellung von mobilen Anwendungen leicht gemacht. Ein Prinzip dieses Frameworks ist es,

dass hier Anwendungen ihre Funktionalitäten in Form von Schnittstellen verö�entlichen, so

dass andere Programme darauf zugreifen können (Künneth (2012)). Die Lebenszyklen einer

Anwendung werden im „Activity Manager“ verwaltet. Die Android Runtime, der gelbe Bereich,

ist dafür zuständig, dass für jede Anwendung ein Prozess gestartet wird. Vorteil dieser Me-

thode ist, dass bei Absturz einer einzelnen Anwendung nicht das komplette System abstürzt.

In der obersten Schicht sind die Programme, die von Endbenutzern verwendet werden. Die

Applikationen greifen auf das Application Framework zu. (Künneth (2012)).

5

Page 10: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

2 Grundlagen

2.3 XML

XML steht für „Extensible Markup Language“. Durch XML ist es möglich, eigene Dateiformate

zu formulieren. Die Formate werden immer im selben Schema entwickelt. Die Dokumente

sind hierarchisch strukturiert aufgebaut und menschenlesbar. Zum Einsatz kommt XML unter

anderem in Kon�gurationsdateien, beim Importieren und Exportieren von Daten innerhalb

eines Programmes und beim Einsatz in Datenbanken vor (Koch (2010)). Der Aufbau eines

XML-Dokuments sieht wie folgt aus:

Ein Dokument beginnt immer mit einem ö�nenden Tag. Ein Tag kann individuell, unter Be-

achtung der Syntax, benannt werden:

1 <kartenset>2 </kartenset>

Listing 2.1: XML - Tag

Es ist darauf zu achten, dass einmal geö�nete Tags wieder geschlossen werden. Tags können

auch Attribute besitzen, die den Tag genauer beschreiben:

1 <kartenset>2 <row thema="Verteilte Systeme">3 </row>4 </kartenset>

Listing 2.2: XML - Tag mit Attribut

Innerhalb eines Tags können weitere Tags geö�net und korrekt geschlossen werden, um eine

Hierarchie aufzubauen.

1 <kartenset>2 <row thema="Verteilte Systeme">3 <frage>Was ist ein Verteiltes System?</frage>4 </row>5 </kartenset>

Listing 2.3: XML - Tag mit Inhalt

Im Listing 2.3 ist ein XML-Dokument zu sehen, welches ein Datenelement besitzt. Datenele-

mente werden zwischen einem ö�nenden und geschlossenen Tag geschrieben.

6

Page 11: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

3 Analyse

„Lernen ist wie Rudern gegen den Strom. Hört man damit auf, treibt man zurück.“

-Laozi (2014)

Die zu entwickelnde Applikation soll vor allem Studenten, Schülern und allen Lernenden

die Möglichkeit bieten, Lerninhalte mittels eines bewährten Systems vorzubereiten und sich

einzuprägen. Die Möglichkeiten und Techniken, Inhalte zu lernen und aufzubereiten, sind

verschieden. In diesem Kapitel soll eine Lernmethodik im Vordergrund stehen, das "clevere

Wiederholen". Deren Vor- und Nachteile werden aufgezeigt. Durch verschiedene Szenarien

sollen die Applikation sowie das verwendete Lernsystem veranschaulicht werden. Hierfür

werden im nächsten Schritt die funktionalen Anforderungen formuliert.

3.1 Karteikartensystem

Abbildung 3.1: Karteikartenlernsystem

Quelle: Wikipedia (2014b)

Eine Methodik zum Lernen stellt das Karteikartensystem dar. Die Gestaltung der Karteikarten

ist individuell. In der klassischen Form wird die Vorderseite mit einer Frage versehen und die

Rückseite enthält die entsprechende Antwort auf die Frage. Je nach Lerntyp, Größe der Karten

und technischen Möglichkeiten können die Inhalte Videos, Bilder, Stichwörter, Sätze oder

Sonstiges enthalten. Durch das ständige Wiederholen der Karteikarten entsteht ein Lern- und

Einprägungse�ekt, was wiederum zum e�ektiven Lernen beiträgt. (Bor-learn (2014), MemoStep

(2014)).

In Abbildung 3.1 ist das klassische Karteikartensystem zu sehen. Einer bestimmten Lernstra-

tegie folgend werden die Karten je nach dem, ob die Fragen richtig oder falsch beantwortet

7

Page 12: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

3 Analyse

wurden, in den jeweiligen Fächern hinterlegt.(siehe 3.1.1).

Vorteile:

• Systematisches Lernen: Ermöglicht Inhalte kurz vor dem Vergessen zu wiederholen und

dadurch ins Langzeitgedächtnis einzuprägen.

• Energie- und Zeitersparnis: Bereits richtig beantwortete Inhalte werden erst später

wiederholt, wohingegen falsch beantwortete Inhalte in den Vordergrund treten.

• Individuelle Gestaltung der Inhalte.

• Motivation steigt, da schnell Erfolge ersichtlich sind.

Nachteile:

• Selbstorganisation des Lernenden ist erforderlich, da bei großem Lernsto� die Karteikar-

ten schnell unübersichtlich werden können.

• Zeitaufwand beim Erstellen der Karten. Dieses kann andererseits aber auch als Vorteil

gesehen werden, da sich Lernende, wenn sie selbst Karten erstellen, dabei schon Wissen

aneignen können.

• Inhalte werden zusammenhangslos gelernt.

3.1.1 Lernstrategien

Es werden drei Lernstrategien für ein Karteikartensystem vorgestellt. Die Vor- und Nachteile

der jeweiligen Strategien werden aufgezeigt (MemoStep (2014)).

• Strategie 1: Einfaches WiederholenEine Karte wird aus dem Fach entnommen und der Lernende versucht, die Frage zu

beantworten. Sowohl bei richtiger als auch bei falscher Antwort wird die Karte zurück

nach hinten ins Fach gelegt. Diese Strategie ist bezüglich des Aufwandes, im Sinne von der

Selbstorganisation des Lernenden, umsetzbar, da sie simpel ist. Nachteil dieser Methode

ist, dass nicht auf die falsch beantworteten Fragen reagiert wird, um auf die Schwäche

des Lernenden einzugehen, und dass richtig beantworteten Fragen unnötigerweise

wiederholt werden.

• Strategie 2: FächerlernenBeim Fächerlernen gibt es n Fächer, die zeitlich unterschiedlich angeordnet sind. Ein Teil

der Karteikarten wird in Fach 1 gelegt. Karteikarten werden in periodischen Abständen

8

Page 13: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

3 Analyse

vom Fach 1 entnommen und beantwortet. Bei richtiger Antwort gelangt die Frage in

Fach 2, und bei falscher Antwort bleibt sie in Fach 1. Die Fächer, die einen größeren

numerischen Wert haben, werden in größeren periodischen Intervallen wiederholt und

jeweils bei richtiger Antwort in die nächstgrößere Fach verschoben. Sind die Karten in

Fach 1 alle erfolgreich bearbeitet, werden weitere Karten nachgelegt.

• Strategie 3: Cleveres WiederholenBei der dritten Strategie, Cleveres Wiederholen, werden Karten in ein Fach gelegt. Richtig

beantwortete Fragen gelangen in das nächste Fach und falsch beantwortete Fragen

werden wieder in das Ausgangsfach gelegt. Es werden erst Fragen aus dem nächsten

Fach entnommen, wenn zuvor alle Fragen aus dem vorherigen Fach richtig beantwortet

wurden. Somit wiederholen sich stets die nicht richtig beantworteten Fragen.

3.2 Use Cases

In diesem Abschnitt werden die verschiedenen Szenarien der entworfenen Applikation Flash-

Cards dargestellt.

Stakeholder

Die Stakeholder in diesem System sind Lehrkraft und Lernender. Die Lehrkraft hat das Inter-

esse, den Lerninhalt dem Lernenden attraktiv und so einfach wie möglich zu präsentieren.

Der Lernende will mit so wenig Aufwand wie möglich eine gute Leistung erzielen. Die gute

Leistung kann als eine Verbesserung seiner bisherigen Fähigkeit bzw. seines Wissenstandes

angesehen werden.

9

Page 14: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

3 Analyse

Lehrkraft Lernender

Thema erstellen/bearbeiten/löschen

Kartenerstellen/bearbeiten/löschen

Text/Bild hinzufügen/ändern/löschen

XML exportieren

Thema/Karten aktualisieren oder löschen

Themenansichtwählen

Karteikartenlernen

LokaleXML importieren

Server Einstellungändern

<<extend>>

Karte kopieren/verschieben in anderes

Thema

Abbildung 3.2: Anwendungsfall

In der Abbildung 3.2 sind die Anwendungsfälle als Use-Case-Diagramm zu sehen.

Es folgt eine Erläuterung der Szenarien:

Thema erstellen/bearbeiten/löschen

Die Lehrkraft will ein Thema erstellen, das eine bestimmte Menge an Lehrsto� repräsentiert.

Bei Ergänzungen sollen die Themen auch bearbeitet werden können. Hat die Lehrkraft die

Klasse abgeschlossen oder das Thema ist nicht mehr relevant, so ist ein Löschen notwendig.

Karten erstellen/bearbeiten/löschen

Die erstellten Themen sollen Karten enthalten. Die Karte besitzt zwei Seiten. Auf der einen Seite

be�ndet sich eine Frage, auf der anderen Seite eine entsprechende Antwort oder Erklärung.

Die Lehrkraft erstellt die jeweiligen Karten und kann diese ggf. bearbeiten und löschen.

Text/Bild hinzufügen/ändern/löschen

Erstellte Karten sind zunächst leer. Die Lehrkraft hat die Möglichkeit jeweils einen Text und ein

Bild zur Frage und zur Antwort hinzuzufügen sowie zu entfernen. Ergänzungen sind möglich,

10

Page 15: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

3 Analyse

in dem der Text bearbeitet werden kann oder die Frage- und Antwortbilder ausgetauscht

werden können.

Karte kopieren/verschieben in anderes Thema

Die Lehrkraft will Karten eines Themas in ein anderes Thema kopieren oder verschieben.

XML exportieren

Die erstellten Themen und die dazugehörigen Karten können im XML-Format von der Lehrkraft

exportiert werden, um den Lernenden die passenden Themen zu übergeben.

Thema/Karten aktualisieren

Der Lernende will die aktuellste Version der Themen und Karten erhalten.

Themenansicht wählen

Ist die Applikation gestartet, so kann der Lernende sich die verfügbaren Themen anschauen

und ein Thema zum Lernen auswählen.

Karteikarten lernen

Bei Wahl eines Themas werden die Karteikarten nacheinander aufgezeigt, wobei der Lernende

jeweils für sich selbst einschätzen muss, ob er die Antwort auf die jeweilige Frage auf der Karte

weiß oder nicht.

Lokale XML importieren

Der Lernende hat von der Lehrkraft eine XML-Datei erhalten, die Themen und Karten enthält.

Diese Datei kann er in der Applikation importieren, um die Themen und Karten zu erstellen.

Server Einstellung ändern

Der Lernende erfährt von der Lehrkraft, dass der Server, auf dem sich die Themen und Karten

be�nden, sich geändert hat. Der Lernende muss dies unter dem Menüpunkt Server Einstellung

ändern, um weiterhin die Themen und Karten vom aktuellen Server zu erhalten.

11

Page 16: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

3 Analyse

3.3 Anforderungen

In diesem Kapitel sollen die Rahmenbedingungen der Applikation erfasst werden. Die funktio-

nalen Anforderungen werden dabei dargelegt.

Rahmenbedingungen

Es müssen bei der Implementation der Applikation einige Rahmenbedingungen beachtet

werden. Der Austausch der Themen und Karten zwischen Lehrkraft und Lernenden geschieht

ausschließlich über ein XML-Dokument. Zunächst haben nur Lehrkräfte die Befugnis, neue

Themen mit Karten zu erstellen und zu verwalten, sprich die Themen und Karten sind für die

Lernenden von der Lehrkraft vorgeben. Es besteht theoretisch die Möglichkeit, dass System in

der Zukunft so zu erweitern, dass auch Lernende Themen und Karten hinzufügen können. Dies

wird später im Ausblick behandelt. Die Webapplikation soll auf einem beliebigen Server liegen

können, um eine Abhängigkeit zwischen Handy-App und Webapplikation zu vermeiden. Das

Layout der Web-Applikation soll weitgehend so gestaltet sein, dass es sich auch auf mobilen

Geräten (Smartphones, Tablets) darstellen lässt. Es wird ebenfalls Wert gelegt auf eine nicht

textlastige Darstellung in Web-Applikation und Handy-App.

Funktionale Anforderungen

Die Funktionen, welche die gesamte Applikation erfüllen soll, werden hier beschrieben. Zusätz-

lich zum Namen der Funktion werden für jede funktionale Anforderung der Akteur, Ereignisse,

die bei dieser Funktion passieren, Vor- und Nachbedingungen und ggf. das Zeitverhalten auf-

gezeigt. Die funktionalen Anforderungen sind im Folgenden mit FAx bezeichnet und werden

fortlaufend durchnummeriert.

FA1: Einloggen in die Web-Applikation

• Akteur: Lehrkraft

• Ereignisse: 1. Lehrkraft ö�net die Server-URL zur Web-Applikation, 2. Lehrkraft gibt

Benutzername und Passwort ein, 3. Drückt auf Login

• Vorbedingungen: Internetzugang, Gültige Benutzerdaten

• Nachbedingungen: Zugang zum System

12

Page 17: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

3 Analyse

FA2: Thema erstellen (Web-Applikation)

• Akteur: Lehrkraft

• Ereignisse: 1. Lehrkraft klickt auf das Plus-Symbol, 2. Name des Themas wird angegeben,

3a. Es wird auf „Hinzufügen“ geklickt, um das Thema anzulegen, 3b. Mit „Abbrechen“

wird der Vorgang abgebrochen,

• Vorbedingungen: Zugang zum System

• Nachbedingungen: Das neue Thema wird aufgelistet

FA3: Thema bearbeiten (Web-Applikation)

• Akteur: Lehrkraft

• Ereignisse: 1. Lehrkraft klickt auf das Stift und Zettel-Symbol des zu bearbeitenden

Themas, 2. Neuen Namen angeben, 3a. Es wird auf „Ändern“ geklickt, um den Namen

des Themas zu ändern, 3b. Mit „Abbrechen“ wird der Vorgang abgebrochen

• Vorbedingungen: Zugang zum System, Thema ist vorhanden

• Nachbedingungen: Bearbeitetes Thema wird aufgelistet

FA4: Thema löschen (Web-Applikation)

• Akteur: Lehrkraft

• Ereignisse: 1. Lehrkraft klickt auf das Kreuz-Symbol des zu löschenden Themas, 2a. Es

wird auf „Ok“ geklickt, um das Thema zu löschen, 2b. Mit „Abbrechen“ wird der Vorgang

abgebrochen

• Vorbedingungen: Zugang zum System, Thema ist vorhanden

• Nachbedingungen: Thema ist gelöscht

FA5: Karte erstellen (Web-Applikation)

• Akteur: Lehrkraft

• Ereignisse: 1. Lehrkraft klickt auf ein Thema, 2. Lehrkraft klickt auf das Plus-Symbol, 2.

Name der Karte wird angegeben, 3. Frage und Antwort werden jeweils formuliert, 4a.

13

Page 18: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

3 Analyse

Es wird auf „Hinzufügen“ geklickt, um Karte anzulegen, 4b. Mit „Abbrechen“ wird der

Vorgang abgebrochen, Bild hinzufügen/entfernen siehe FA8

• Vorbedingungen: Zugang zum System, Thema ausgewählt,

• Nachbedingungen: Karte wird aufgelistet

FA6: Karte bearbeiten (Web-Applikation)

• Akteur: Lehrkraft

• Ereignisse: 1. Lehrkraft klickt auf ein Thema, 2. Lehrkraft klickt auf das Stift-und-

Zettel-Symbol der zu bearbeitenden Karte oder auf den Kartennamen, 3. Frage und

Antwort können bei Bedarf geändert werden, 4a. Es wird auf „Ändern“ geklickt, um

Einstellungen zu übernehmen. 4b. Mit „Abbrechen“ wird der Vorgang abgebrochen, Bild

hinzufügen/entfernen siehe FA8

• Vorbedingungen: Zugang zum System, Karte ist vorhanden

• Nachbedingungen: Bearbeitete Karte wird aufgelistet

FA7: Karte löschen (Web-Applikation)

• Akteur: Lehrkraft

• Ereignisse: 1. Lehrkraft klickt auf ein Thema, 2. Lehrkraft klickt auf das Kreuz-Symbol

der zu löschenden Karte 3a. Es wird auf „Ok“ geklickt, um die Karte zu löschen, 3b. Mit

„Abbrechen“ wird der Vorgang abgebrochen

• Vorbedingungen: Zugang zum System, Karte ist vorhanden

• Nachbedingungen: Karte ist gelöscht

FA8: Bild hinzufügen/entfernen (Web-Applikation)

• Akteur: Lehrkraft

• Ereignisse: 1. Lehrkraft klickt auf ein Thema 2. Lehrkraft klickt auf das Stift-und-Zettel-

Symbol der zu bearbeitenden Karte oder auf den Kartennamen, 3a. Fragebild durchsuchen

klicken, um Bild zur Frage hinzuzufügen und Antwortbild durchsuchen klicken, um

Bild zur Antwort hinzuzufügen, 3b. Klick auf das Kreuz-Symbol bei Fragebild oder

Antwortbild löscht das jeweilige Bild

14

Page 19: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

3 Analyse

• Vorbedingungen: Zugang zum System, zu 3a. Gültiges Bild ist vorhanden,

• Nachbedingungen: Zu 3a. Bild wird hinzugefügt, zu 3b. Bild wird entfernt

FA9: XML Importieren (Web-Applikation)

• Akteur: Lehrkraft

• Ereignisse: 1. Lehrkraft klickt auf das XML-Zettel-Symbol des zu speichernden Themas,

2. XML-Datei kann von Lehrkraft gespeichert werden

• Vorbedingungen: Zugang zum System, Thema ist vorhanden

• Nachbedingungen: Generierung der XML-Datei

FA10: Karte in anderes Thema verschieben/kopieren (Web-Applikation)

• Akteur: Lehrkraft

• Ereignisse: 1. Lehrkraft wählt aus der Zeile der jeweiligen Karte, die verschoben/kopiert

werden soll, das Thema aus, 2a. Auswahl von Doppel-Zettel-Symbol aus, 2b. Aus von

Links-Rechts-Pfeil-Symbol

• Vorbedingungen: Zugang zum System, Thema 1 ist vorhanden, Thema 2 ist vorhanden

• Nachbedingungen: a: Karte wurde in Thema 2 verschoben und ist nicht mehr in Thema

2 aufgelistet, b: Karte wurde in Thema 2 kopiert

FA11: Themenansicht wählen (Android-App)

• Akteur: Lernender

• Ereignisse: 1. Lernender wählt Themen

• Nachbedingungen: Ansicht der Themen

FA12: Karteikarten lernen (Android-App)

• Akteur: Lernender

• Ereignisse: 1. Thema auswählen, 2. „Los“ wählen, 3a. „weiß ich“ wählen, 3b. „weiß ich“

nicht wählen 4. „Nächste Karte!“

15

Page 20: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

3 Analyse

• Vorbedingungen: Themenansicht, verfügbare Themen vorhanden, verfügbare Karten

vorhanden

• Nachbedingungen: Antwort der Karte wird angezeigt

FA13: Themen aktualisieren (Android-App)

• Akteur: Lernender

• Ereignisse: 1. Lernender wählt das Optionsmenü (oben rechts), 2. Auswahl „Aktualisie-

ren“

• Vorbedingungen: Ansicht der Themen

• Nachbedingungen: Themenliste wird aktualisiert

FA14: Karten aktualisieren (Android-App)

• Akteur: Lernender

• Ereignisse: 1. Lernender wählt das Optionsmenü (oben rechts), 2. Auswahl „Aktualisie-

ren“

• Vorbedingungen: Thema ausgewählt

• Nachbedingungen: Karten mit den dazugehörigen Bildern werden geladen

FA15: Lokale XML importieren (Android-App)

• Akteur: Lernender

• Ereignisse: 1. Lernender wählt „XML-Laden“, 2. Auswahl von „XML wählen“, 3. XML-

Datei vom lokalen Dateisystem auswählen

• Vorbedingungen: Verfügbare XML-Datei auf dem lokalen Dateisystem vorhanden

• Nachbedingungen: Thema mit dazugehörigen Karten und Bildern wird geladen

• Zeitverhalten: Je nach Anzahl der zu ladenden Bilder, kann das Importieren der XML-

Datei bzw. das Aktualisieren der Karten sich verzögern. Bei 100 Karten mit jeweils 2

Bildern ist mit 10-15 Sekunden Ladezeit zu rechnen. Die genaue Ladezeit hängt allerdings

von der Geschwindigkeit des mobilen Geräts, der Internet- und Servergeschwindigkeit

sowie der Bildgröße ab.

16

Page 21: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

3 Analyse

FA16: Server Einstellung ändern (Android-App)

• Akteur: Lernender

• Ereignisse: 1. Lernender wählt „Einstellungen“ aus, 2. Eingabe einer Serveradresse, 3.

Auswahl von „Speichern“

• Vorbedingungen: Gültige Serveradresse vorhanden

3.4 Fazit

In diesem Kapitel wurden Anforderungen und die dazugehörigen Use Cases beschrieben, die

im Laufe der Arbeit wiederverwendet werden. Die Analyse dient als Grundlage zur Erstellung

des Designs und zur Implementierung (Realisierung).

17

Page 22: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

In diesem Kapitel wird das Design der Applikation vorgestellt. Dabei werden die einzelnen

Komponenten aufgezeigt. Es wird auf die Gestaltung der GUI eingegangen sowie auf die

Sequenzen, die sich in der Applikation bilden.

4.1 Applikationsentwurf

Apache Web-Server

Web-Applikation

Applikation

XML

HTTP GET

Lehrkraft LernenderMySQL DB SQLite DB

Abbildung 4.1: Systementwurf

In der Abbildung 4.1 ist der abstrakte Entwurf der zu entwickelnden Applikation zu sehen.

Die zwei Hauptakteure, Lehrkraft und Lernender, interagieren mit der Applikation. Die zwei

Hauptbestandteile der Applikation stellen die Web-Applikation und die Android-Applikation

dar. Die Web-Applikation wird auf einem Apache Web-Server betrieben. Sie wird nur von

der Lehrkraft benutzt und nimmt Befehle (siehe 3.3) entgegen, um hauptsächlich Lernsto�

bereitzustellen. In der MySQL Datenbank werden die Daten zum Lernsto� gelesen bzw. erstellt.

Die Android-Applikation wird vom Lernenden benutzt und hilft ihm, den bereitgestellten Lern-

sto� aufzurufen und dementsprechend zu lernen. Web-Applikation und Android-Applikation

kommunizieren miteinander, um die geforderten Ein-/Ausgaben der Akteure zu behandeln.

Die Web-Applikation schickt die Inhalte per XML an die Android-Applikation, um sie für den

18

Page 23: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

Lernenden aufzubereiten. Die jeweiligen Daten werden von der Android-Applikation in die

SQLite Datenbank geschrieben. Um die Daten von der Web-Applikation abrufen zu können,

wird von der Android-Applikation ein HTTP GET geschickt.

SplashScreen

MainThemen Einstellung

XMLImport

lokal

XMLParser

MySQLiteHelper

Thema

Fragen

Antworten

Karten

Themen

Abbildung 4.2: Komponentenübersicht der Android-Applikation

In der Abbildung 4.2 sind die wichtigsten Komponenten der Android-Applikation zu sehen.

Es folgt eine kurze Beschreibung dieser Komponenten. Da in der Realisierung näher auf die

Klassen eingegangen wird, dient dies nur zum ersten Einblick. Die Komponenten, die einge-

rahmt sind und unter Activities stehen, sind die nach außen sichtbaren Komponenten der

Android-Applikations-GUI. Aus der Main-Activity heraus können drei Activities aufgerufen

werden (Themen für die Themenübersicht, Einstellung für die Servereinstellung, XMLImport

für das Importieren der XML), die jeweils eine andere Sicht anzeigen. Der XMLParser ist für

das Parsen von eintre�enden oder lokal liegenden XML-Dokumenten zuständig. Durch den

MySQLiteHelper kann durch simple Operationen, wie addKarte(), getKarte und deleteKarte(),

auf die MySQL-Datenbank zugegri�en werden.

19

Page 24: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

4.2 GUI Gestaltung

Bei der Entwicklung einer Applikation, die beim Lernen helfen soll, ist es vor allem wichtig, dass

die Lehrkraft und besonders der Lernende schnell und ohne großen Aufwand die Funktionalität

begreifen, da nicht die Bedienung der Applikation im Vordergrund stehen soll, sondern das

Lernen an sich. Die GUI Gestaltung ist daher besonders von Bedeutung. In diesem Teil wird

auf die Gestaltung der GUI eingegangen, außerdem soll die Einfachheit der GUI präsentiert

und deutlich gemacht werden.

4.2.1 Web-Applikation

Abbildung 4.3: Web-Applikation Login-Ansicht

In Abbildung 4.3 sieht man die Login-Ansicht, die auch der Einstieg in die Web-Applikation

ist. Die funktionale Anforderung aus Abschnitt 3.3 FA1 soll hier erfüllt werden. Man sieht das

Logo und den Titel - „FlashCards“ - der Web-Applikation.

20

Page 25: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

Abbildung 4.4: Web-Applikation Themen-Ansicht

Diese Ansicht 4.4 erscheint, nachdem man sich eingeloggt hat. Die funktionalen Anforderungen

aus Abschnitt 3.3 FA2, FA3 und FA4 werden durch die gebotenen Funktionalitäten in dieser

Ansicht erfüllt. Die Symbole sind klar und deutlich zu erkennen und sind selbsterklärend.

Durch die große Überschrift weiß der Benutzer, in dem Fall die Lehrkraft, in welcher Ansicht

sie sich be�ndet. Die Themen werden sofort angezeigt und müssen nicht extra aufgerufen

werden.

21

Page 26: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

Abbildung 4.5: Web-Applikation Themen erstellen-Ansicht

Bei der Erstellung eines Themas (siehe Abbildung 4.5) sind über�üssige Informationen ausge-

blendet, es ist deutlich erkennbar, dass man ein neues Thema anlegt. Die funktionale Anforde-

rung aus Abschnitt 3.3 F2 wird in diesem Punkt umgesetzt.

22

Page 27: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

Abbildung 4.6: Web-Applikation Karten-Ansicht

In der Abbildung 4.6 ist die Ansicht der Karten zu einem Thema für die Lehrkraft zu se-

hen. Durch die Überschrift mittig über den Karten ist klar ersichtlich, in welchem Thema

man sich be�ndet. Jede Karte des Themas ist aufgelistet. Es sind durch die Symbole klare

Bearbeitungsmöglichkeiten zu erkennen. Die gelben Symbole sind jeweils Kopier- und Ver-

schiebeoperationen für Karten in andere Themen. Die funktionalen Anforderungen 3.3 FA5,

FA6, FA7 und FA10 werden hier erfüllt.

23

Page 28: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

Abbildung 4.7: Web-Applikation Karten ändern-Ansicht

Die Abbildung 4.7 zeigt die Möglichkeit, wie Karteninhalte geändert bzw. hinzugefügt wer-

den können. Frage- und Antwortfelder sind jeweils deutlich erkennbar und unterscheidbar.

Die Felder können dynamisch vergrößert und verkleinert werden. Frage- und Antwortbilder

können hinzugefügt werden. Falls keine Bilder hinzugefügt wurden, wird dies durch einen

Text kenntlich gemacht. Einfachheit ist durch klare Symbole gewährleistet. Die funktionalen

Anforderungen aus Abschnitt 3.3 FA6 und FA8 werden erfüllt.

4.2.2 Android-App

Die Android-App wird vorgestellt. Anhand von Gra�kausschnitten aus der Applikation wird

das einfach gehaltene Layout präsentiert und erklärt.

24

Page 29: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

Abbildung 4.8: Android-App Splashscreen und Hauptmenü

Bei Start der Applikation wird der Splashscreen (4.8 - links) aufgezeigt. Er dient nur der

Optik. Außerdem sieht man in der Abbildung 4.8 das Hauptmenü der Android-Applikation.

Das Menü ist simpel gehalten, um das Lernen schnell beginnen zu können. Durch große

Buttons werden fehlerhaft oder wirkungslose Touchgestiken verhindert.

25

Page 30: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

Abbildung 4.9: Android-App Themen

Nachdem man im Hauptmenü Themen ausgewählt hat, landet man in der Ansicht 4.9. Die

Themen sind klar getrennt aufgelistet. Die rot markierten Objekte stellen Funktionalitäten dar.

Ö�net man das Optionsmenü mit dem Button mit den drei Punkten (siehe 2 in der Abbildung

4.9), erscheint das Auswahlmenü, um die Themen zu aktualisieren oder zu löschen (siehe 1 in

der Abbildung 4.9). Die funktionalen Anforderungen aus Abschnitt 3.3 FA11 und FA13 werden

erfüllt.

26

Page 31: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

Abbildung 4.10: Android-App Beginn Lernen

Wird ein Thema ausgewählt, erscheint die Ansicht wie in Abbildung 4.10 dargestellt. In

der Ansicht wird deutlich, um welches Thema es sich handelt, da das Thema das Layout

einer Überschrift hat und dadurch direkt au�ällt. Um das Lernen zu beginnen, muss „Los!“

ausgewählt werden. Die funktionale Anforderung FA12 wird hier erfüllt.

27

Page 32: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

Abbildung 4.11: Android-App Frage und Anwort

In der Abbildung 4.11 sieht man eine Frage und die Antwort der Karte. Diese Ansicht erscheint,

nachdem man ein Thema ausgewählt hat. In diesem Beispiel hat die Frage ein Fragebild und

einen Fragetext. Je nach Wissenstand kann „weiß ich“oder „weiß ich nicht“ausgewählt werden.

Die Antwort umfasst ein Antwortbild und einen Antworttext. Hat man die Antwort mit seinem

Wissenstand verglichen, so kann man „Nächste Karte“wählen. Das Design ist in diesen Ansich-

ten ebenfalls schlicht gehalten. Der Lernende kann sich auf die Frage konzentrieren und wird

nicht von zusätzlicher Gra�klast abgelenkt. Die funktionale Anforderung FA12 wird hier erfüllt.

28

Page 33: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

Abbildung 4.12: Android-App Server Einstellung und XML laden

In Abbildung 4.12 sind die Ansichten, um die Server-Einstellung zu ändern und ein XML-

Dokument zu laden, dargestellt. Die Server-Url kann mit der gewohnten Android-Tastatur

eingegeben werden. Um ein XML-Dokument laden zu können, muss „XML wählen“ ausgewählt

werden. Beide Optionen sind einfach gehalten. Die funktionalen Anforderungen aus Abschnitt

3.3 FA15 und FA16 werden erfüllt.

4.3 Kommunikation

In diesem Abschnitt sollen zwei Sequenzdiagramme vorgestellt werden. Sie beschreiben exem-

plarisch die Kommunikation zwischen Web-Applikation und Android-Applikation. Es werden

die Szenarien „Themen aktualisieren“ und „Karten aktualisieren“ dargestellt.

29

Page 34: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

Web-Applikation

Datenbank - Web-Applikation

Android-Applikation

Datenbank - Android-Applikation

Lernender

1. Öffne Themen

2. Öffne Menü und Aktualisiere

3. Anfordern der Themen

4. select * from Themen

5. Themen

6. Senden der Themen im XML-Format

7. Parsen

8. insert Themen

9. Aktualisieren der Themen

10. Themenansicht

Abbildung 4.13: Sequenzdiagramm - Themen aktualisieren

In der Abbildung 4.13 ist das Sequenzdiagramm abgebildet, welches die Kommunikation

zwischen Web-Applikation und Android-Applikation bei der Option „Themen aktualisieren“

beschreibt. Es folgt eine Erklärung der jeweiligen Sequenzpunkte zur funktionalen Anforderung

FA13 (3.3):

1. Der Lernende ö�net in der Android-Applikation die Themen-Ansicht.

2. Um die aktuellen Themen anzeigen zu lassen, wählt der Lernende unterm Optionsmenü

die Option „Aktualisieren“.

3. Da die aktuellen Themen auf der Web-Applikation liegen, erfolgt eine Abfrage von der

Android-Applikation an die Web-Applikation, um die Themen anzufordern.

4. Die Web-Applikation schickt eine Anfrage an die Datenbank, um die aktuellen Themen

zu erhalten.

30

Page 35: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

5. Rückgabe: Aktuelle Themen.

6. Die Web-Applikation hat die Themen nun erhalten und schickt sie weiter an die Android-

Applikation. Die Themen werden strukturiert im XML-Format versendet.

7. Da die aktuellen Themen im XML-Format vorliegen, muss die Android-Applikation die

Daten parsen, um die Inhalte zu erhalten.

8. Nach dem die Daten geparst wurden, werden sie geordnet in die Android-Datenbank

eingefügt, um spätere Logik bei Ausführung der Android-Applikation „FlashCards“

umzusetzen. Die Logik sagt beispielsweise aus, wie viele Karten richtig beantwortet

wurden (siehe nächstes Sequenzdiagramm 4.14).

9. Die Android-App aktualisiert die Themen.

10. Der Lernende bekommt die aktuelle Themenübersicht angezeigt.

Zusätzlich zum Ablauf des Sequenzdiagramms kann gesagt werden, dass zunächst nur alle

Themen aktualisiert werden. Es erfolgt keine automatische Aktualisierung der Karten pro

aktualisiertes Thema. Die Karten werden nicht sofort aktualisiert, um eine Überlastung der

Android-Applikation zu vermeiden, sprich eine zu lange Wartezeit.

Web-Applikation

Android-Applikation

Datenbank - Android-Applikation

1. Parsen

4. insert Bilder

2. Frage Bilder an

3. Sende Bytes der Bilder

Nur wenn Bildpfad im XML-Dokument

eingetragen

Abbildung 4.14: Sequenzdiagramm - Karten aktualisieren

31

Page 36: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

In der Abbildung 4.14 ist das Sequenzdiagramm abgebildet, das die Aktionen darstellt, wenn

der Lernende die aktuellen Karten zu einem Thema angefordert. Die Kommunikation zwischen

Web-Applikation und Android-Applikation wird grob aufgezeigt. Dabei ist anzumerken, dass

die Anfangsphase (Punkt 3 bis 7) ähnlich wie im vorherigen Sequenzdiagramm aus Abbil-

dung 4.13 verläuft. Aus diesem Grund wird sie nicht noch einmal aufgezeigt. Die funktionale

Anforderung FA14 (3.3) wird durch das Sequenzdiagramm beschrieben:

1. Der Lernende aktualisiert nun die Karten zu einem Thema. Die ersten notwendigen

Schritte wird hier nicht dargestellt. Die Android-Applikation hat ein XML-Dokument

erhalten und parst es entsprechend.

2. Aus dem XML-Dokument wird je Karte ersichtlich, ob zu der Karte ein Bild gehört oder

nicht. Bei vorhandenem Bild wird pro Karte die Web-Applikation angefragt.

3. Die Web-Applikation sucht im zugrunde liegenden Dateisystem anhand des gegebenen

Pfades nach dem Bild und sendet die Bytes des Bildes.

4. Die Bilder werden von der Android-Applikation im entsprechenden Format (BLOB) in

die Android-Datenbank zur passenden Karte eingefügt.

4.3.1 Nachrichtenformat XML

Um die Nachrichten zwischen der Web-Applikation und der Android-Applikation strukturiert

austauschen zu können, muss ein geeignetes Format gewählt werden. Wie aus der bisherigen

Arbeit ersichtlich wird, wird hier XML benutzt. In diesem Abschnitt sollen die XML-Formate

zur Kommunikation der Applikation vorgestellt werden. Es werden zwei Formate de�niert.

Das eine XML-Format beschreibt die verfügbaren Themen und das andere XML-Format be-

schreibt die Inhalte für die Karten. Im abstrakten Systementwurf (vgl. Abschnitt4.1) sind die

Kommunikationspartner und deren Verbindungs- und Übertragungsart aufgezeigt.

1 <themen>2 <row>3 <id>4</id>4 <thema>Verteilte Systeme</thema>5 </row>6 <row>7 <id>10</id>8 <thema>Software Engineering</thema>9 </row>

32

Page 37: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

10 <row>11 <id>11</id>12 <thema>Mathe 1</thema>13 </row>14 <row>15 <id>16</id>16 <thema>Hauptstädte</thema>17 </row>18 <row>19 <id>18</id>20 <thema>Computer Engineering</thema>21 </row>22 </themen>

Listing 4.1: XML-Dokument: Themen

Das Listing 4.1 beschreibt das XML-Format, welches notwendig ist für die Themenansicht.

Jedes Thema hat eine Identi�kationsnummer und einen Namen.

1 <kartenset>2 <row thema="Hauptstädte">3 <id>22</id>4 <id_thema>16</id_thema>5 <frage_text>Algerien</frage_text>6 <frage_bild/>7 <antwort_text>8 Lage/Kontinent: Afrika Bevölkerung: 31.800.0009 Fläche: 2.381.700 qkm Bevölkerungsdichte:

10 13 Einw./qkm Hauptstadt: Algier11 </antwort_text>12 <antwort_bild>22_antwort.png</antwort_bild>13 </row>14 <row thema="Hauptstädte">15 <id>23</id>16 <id_thema>16</id_thema>17 <frage_text>Afghanistan</frage_text>18 <frage_bild/>19 <antwort_text>20 Lage/Kontinent: Asien Bevölkerung: 28.700.00021 Fläche: 647.500 qkm Bevölkerungsdichte:22 44 Einw./qkm Hauptstadt: Kabul23 </antwort_text>

33

Page 38: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

24 <antwort_bild>23_antwort.png</antwort_bild>25 </row>26 <row thema="Hauptstädte">27 <id>24</id>28 <id_thema>16</id_thema>29 <frage_text>Deutschland</frage_text>30 <frage_bild/>31 <antwort_text>32 Lage/Kontinent: Europa Bevölkerung: 82.500.00033 Fläche: 357.000 qkm Bevölkerungsdichte:34 231 Einw./qkm Hauptstadt: Berlin35 </antwort_text>36 <antwort_bild>24_antwort.png</antwort_bild>37 </row>38 .39 .40 .41 </kartenset>

Listing 4.2: XML-Dokument: Karten

Das Listing 4.2 beschreibt das XML-Format, welches für die Erstellung der Karten in der

Android-Applikation notwendig ist. Es stellt ein Kartenset zu einem Thema dar. Ein Kartenein-

trag umfasst eine Identi�kationsnummer, die zugehörige Identi�kationsnummer zum Thema,

den Fragetext, das Fragebild, den Antworttext und das Antwortbild.

4.3.2 Datenbankmodellierung

In diesem Abschnitt soll kurz auf die Datenbankmodellierung der Web-Applikation und der

Android-Applikation eingegangen werden. Es werden jeweils Entity-Relationship-Modelle

(ERM) aufgezeigt und kurz erklärt.

34

Page 39: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

kartenthemen

login

id id_themafrage_text

frage_bildantwort_bild

antwort_text

id

usernamepassword

id

thema

hat1n

Abbildung 4.15: ERM - Web-Applikation

In der Abbildung 4.15 ist das ERM der Web-Applikation zu sehen. Es gibt drei Entitäten

„login“, „themen“ und „karten “. Die Entität Login enthält alle Benutzernamen und die zugehö-

rigen Passwörter von Benutzerkonten, wobei die Passwörter als MD5-Checksumme abgelegt

werden. Die Entität Karte hat die Attribute, die für die Darstellung der jeweiligen Karte not-

wendig sind (siehe 4.2).Die Entität Themen besitzt das Attribut Thema. Karten und Themen

haben eine 1:n Beziehung zu einander, da ein Thema mehrere Karten enthalten kann. Beim

Kopieren einer Karte in ein anderes Thema entsteht eine Kopie der Karte und nicht eine weitere

Referenzierung, was eine m:n Beziehung zwischen Karten und Themen bedeuten würde. Diese

Handhabung hat den Vorteil, dass beim Löschen der Karte in einem Thema nicht automatisch

die Karte im anderen Thema gelöscht wird.

kartenthemen

id id_themafrage_text

frage_bild

antwort_bild

antwort_text

id

thema

hat1n

richtig_beantwortet

origin

serverid url

Abbildung 4.16: ERM - Android-Applikation

Die Android-Applikation verwendet ebenfalls eine Datenbank. Das ERM dieser Datenbank ist

35

Page 40: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

4 Design

in Abbildung 4.16 zu sehen. Die Menge der Entitäten ähnelt derjenigen der Web-Applikation,

jedoch fehlt in diesem ERM die „login“- Entität. Darüber hinaus gibt es einen Unterschied

zwischen den Attributen „antwort_bild“ und „frage_bild“ in der Web-Applikation und Android-

Applikation. In der Web-Applikation sind die Pfade der jeweiligen Bilder gespeichert (siehe

XML-Dokument (4.2)). Die Android-Applikation hingegen speichert die Bytes der Bilder in

BLOB-Format, um sie bei Bedarf in der Android-Applikation anzeigen zu lassen. Im ERM der

Android-Applikation gibt es zusätzlich das Attribut „origin“. Das Attribut „origin“ enthält

als Eintrag entweder „web“ oder „xml“ und ist dafür da, um in der Android-Applikation zu

unterscheiden, ob die Themen aus einem lokalen XML-Dokument oder vom Server stammen.

In der Entität „server“ wird die entsprechende Server URL gespeichert und bei Bedarf kann sie

aktualisiert bzw. geändert werden.

36

Page 41: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

5 Realisierung

In diesem Kapitel geht es um die Realisierung der Applikationen. Dabei werden die Erkenntnisse

aus den vorherigen Kapiteln als Grundlage genommen. Die Anwendung besteht aus zwei

Applikationen, der Android-Applikation und der Web-Applikation. Diese werden getrennt

von einander vorgestellt. Mit Hilfe eines Klassendiagramms werden die Komponenten der

Android-Applikation (Bleske (2012)) erklärt. Code-Abschnitte dienen zur Veranschaulichung

und werden ebenfalls erklärt. Am Ende des Kapitels werden verwendete Bibliotheken und

unterstützende Programme vorgestellt.

5.1 Android-App Entwicklung

In diesem Abschnitt wird die Realisierung der Android-Applikation vorgestellt. Das Klassen-

diagramm der Applikation wird hierbei erklärt, und Code-Abschnitte werden aufgezeigt.

Die Mindestanforderung des Gerätes, auf dem die Applikation ausgeführt werden soll, lauten:

• Android Version: 2.3.3 API-Level 10

• Speicheranfoderung: ca. 5 MB + weiteren Speicher für die Karten und die zugehörigen

Bilder.

37

Page 42: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

5 Realisierung

Abbildung 5.1: Klassendiagramm

38

Page 43: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

5 Realisierung

In der Abbildung 5.1 ist das Klassendiagramm der Android-Applikation zu sehen. Es folgt eine

Beschreibung der wichtigsten Klassen, dabei wird darauf geachtet, logisch zusammenhängen-

de Klassen direkt nacheinander aufzulisten und zu erklären. Vorweg ist zu erwähnen, dass

einige Klassen, die hauptsächlich für die GUI-Gestaltung zuständig sind, nicht erklärt werden,

da sie wenig Logik enthalten (GUI-Elemente siehe (4.2)). Die Erklärung ist jeweils wie folgt

aufgebaut: Erst wird die Funktionalität der Klasse beschrieben und dann wichtige Methoden

durch Code-Abschnitte erklärt:

MySQLiteHelper: Diese Klasse ist die am meisten verwendete Klasse. Sie stellt eine Schnitt-

stelle dar, um die Android-Datenbank des mobilen Gerätes zu verwenden, sprich notwendige

Datenbankzugri�e (Türker (2003)) werden in der Klasse realisiert. Zusätzlich zur Verwendung

der Datenbank wird in der Klasse in einer Methode, bei Notwendigkeit, Bilddaten aus der

Web-Applikation angefordert, heruntergeladen und in der Datenbank abgelegt. Näheres dazu

in der Erklärung des jeweiligen Code-Abschnittes. Dabei ist anzumerken, dass in jeder Methode

dieser Klasse eine Schreib- bzw. Lesereferenz der Datenbank erzeugt werden muss.

1 @Override2 public void onCreate(SQLiteDatabase db) {

4 String CREATE_THEMEN_TABLE = "CREATE TABLE themen ( " +5 "id_auto INTEGER PRIMARY KEY AUTOINCREMENT, " +6 "id INTEGER, " +7 "thema TEXT, " +8 "origin TEXT)";

10 String CREATE_KARTEN_TABLE = "CREATE TABLE karten ( " +11 "id INTEGER PRIMARY KEY AUTOINCREMENT, " +12 "id_thema INTEGER, " +13 "frage TEXT, " +14 "antwort_text TEXT, " +15 "richtig_beantwortet INTEGER, " +16 "frage_bild BLOB, " +17 "antwort_bild BLOB)";

19 String CREATE_SERVER_TABLE = "CREATE TABLE server ( " + "id INTEGER, " + "url TEXT)";

21 db.execSQL(CREATE_THEMEN_TABLE);22 db.execSQL(CREATE_KARTEN_TABLE);23 db.execSQL(CREATE_SERVER_TABLE);24 }

Listing 5.1: MySQLiteHelper - onCreate

39

Page 44: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

5 Realisierung

Im Listing 5.1 sieht man die „onCreate“- Methode, die beim ersten Aufruf der Android-

Applikation ausgeführt wird. Sie erstellt die notwendigen Tabellen und Felder in der internen

Datenbank der Android-Applikation.

1 public void addKarte(Karte karte){

3 ServerUrl sUrl = new ServerUrl(cont);4 String sUrlString = sUrl.getServerUrl();5 SQLiteDatabase db = this.getWritableDatabase();

7 ContentValues values = new ContentValues();8 values.put(KEY_ID_THEMA, karte.getId_thema());9 values.put(KEY_FRAGE, karte.getFrage());

10 values.put(KEY_ANTWORT, karte.getAntwort_text());11 values.put(KEY_RICHTIG_BEANTWORTET, karte.getRichtig_beantwortet());

13 if(karte.getFrage_bild() != null && karte.getFrage_bild() != ""){14 byte[] logoImage = getLogoImage(sUrlString + "upload/upload/" + karte.

getFrage_bild());15 values.put(KEY_FRAGE_BILD, logoImage);16 }

18 ...

20 db.insert(TABLE_KARTEN,21 null,22 values);

24 db.close();25 }

Listing 5.2: MySQLiteHelper - addKarte

Im Listing 5.2 sieht man den Code-Abschnitt, der das Hinzufügen einer neuen Karte in die

Datenbank der Android-Applikation realisiert. Es wird zunächst eine Verbindung zur Daten-

bank erstellt, anschließend werden die Werte in die passenden Felder eingetragen. Durch die

If-Abfrage in Zeile 13 wird überprüft, ob die Karte ein Bild hat. Wenn ja, wird das Bild direkt

vom Web-Applikations-Server, per „getLogoImage“, angefordert (siehe 5.3). Die Abfrage und

Sequenzen für die Erhaltung der Frage- und Antwort sind identisch.

1 private byte[] getLogoImage(String url){2 try {3 ...4 InputStream is = ucon.getInputStream();5 BufferedInputStream bis = new BufferedInputStream(is);

40

Page 45: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

5 Realisierung

7 ByteArrayBuffer baf = new ByteArrayBuffer(500);8 int current = 0;9 while ((current = bis.read()) != -1) {

10 baf.append((byte) current);11 }

13 return baf.toByteArray();14 ...15 }

Listing 5.3: MySQLiteHelper - getLogoImage

Im Listing 5.3 ist die Methode zu sehen, die aufgerufen wird, um die Frage- und Antwortbilder

der Karte zu erhalten. Es werden eintre�ende Bytes in der richtigen Reihenfolge sequentiell

aneinandergehängt.

1 public Karte getRandomKarte(int id_thema){

3 ...

5 Cursor cursor =6 db.query(TABLE_KARTEN, // a. table7 COLUMNS, // b. column names8 " id_thema = ? and richtig_beantwortet = ?", // c. selections9 new String[] { String.valueOf(id_thema), String.valueOf(

getMinRichtig(id_thema)) }, // d. selections args10 null, // e. group by11 null, // f. having12 "RANDOM()", // g. order by13 "1"); // h. limit

15 if (cursor != null)16 cursor.moveToFirst();

18 ...

20 return karte;21 }

Listing 5.4: MySQLiteHelper - getRandomKarte

In der Methode „getRandomKarte“ (siehe Listing 5.4) wird die nächste Karte beim aktiven

Lernen in der Applikation ermittelt. Die ermittelte Karte wird erzeugt und zurückgegeben,

um sie in der Applikation anzeigen zu lassen. Es wird eine Query an die Android-Datenbank

gesendet, um die jeweilige Karte zu erhalten. Das Ermitteln der geeigneten Karte erfolgt nach

folgenden Kriterien: 1. Es wird die Karte zum passenden Thema gesucht. 2. Die Methode

„getMinRichtig“ in Zeile 9 ermittelt die Karte, die am wenigsten richtig beantwortet wurde.

41

Page 46: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

5 Realisierung

Diese Vorgehensweise entspricht der in Abschnitt 3.1 vorgestellten Lernstrategie "Cleveres

Wiederholen".

1 public ArrayList<Thema> getAllThemen() {2 ArrayList<Thema> themen = new ArrayList<Thema>();

4 String query = "SELECT * FROM " + TABLE_THEMEN;

6 ...

8 Thema thema = null;9 if (cursor.moveToFirst()) {

10 do {11 thema = new Thema();12 thema.setId_auto(Integer.parseInt(cursor.getString(0)));13 thema.setId(Integer.parseInt(cursor.getString(1)));14 thema.setThema(cursor.getString(2));15 thema.setOrigin(cursor.getString(3));

17 themen.add(thema);18 } while (cursor.moveToNext());19 }

21 ...

23 return themen;24 }

Listing 5.5: MySQLiteHelper - getAllThemen

Im Listing 5.5 werden alle Themen, die in der Datenbank verfügbar sind, aufgerufen und

zwischengespeichert. Diese Methode wird zur Visualisierung in der Android-Applikation ver-

wendet.

ParsingXML: In dieser Klasse werden die XML-Dokumente geparst. Dabei wird unterschie-

den, ob die XML-Dokumente, Karte oder Themen beschreiben. Außerdem wird unterschieden,

ob sich die XML-Dokumente im lokalen Speicher be�nden oder aus der Web-Applikation

stammen. Um die XML-Dokumente geeignet zu parsen, gibt es für Karten und Themen jeweils

einen XMLHandler.

1 public ArrayList<Karte> parser(String p_uri, int i, Context cont) {

3 try {4 SAXParserFactory spf = SAXParserFactory.newInstance();5 SAXParser sp = spf.newSAXParser();

42

Page 47: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

5 Realisierung

7 XMLReader xr = sp.getXMLReader();

9 KartenXMLHandler myXMLHandler = new KartenXMLHandler();10 xr.setContentHandler(myXMLHandler);

12 InputSource inputSource = new InputSource();13 inputSource.setEncoding("utf-8");14 inputSource.setCharacterStream(new StringReader(p_uri));

16 xr.parse(new InputSource(new FileReader(new File(p_uri))));

18 kartenList = myXMLHandler.getParsedData();

20 return kartenList;21 ...22 }23 }

Listing 5.6: ParsingXML - parser

In der Methode „parser“ (5.6) wird ein SAXParser (McLaughlin und Edelson (2006)) erzeugt,

der dafür zuständig ist, XML-Dokumente mit wenig Aufwand zu parsen. Der entsprechende

Handler für Karten oder Themen wird dem Reader des SAXParser übergeben. Ab Zeile 12 bis

14 wird das XML-Dokument aus dem lokalen SpeicherHier besteht ein Unterschied zu den

anderen Parser-Methoden in der ParsingXML-Klasse. Nach dem Parsen wird eine Liste mit

entsprechenden Daten erzeugt.

ThemenXMLHandler: Die Klasse erbt von der Klasse „DefaultHandler“, damit sie dem SAX-

Parser (5.6) übergeben werden kann. Da jedes XML-Dokument ein eigenes Schema besitzt,

muss für jedes Schema individuell ein Handler geschrieben werden, der die Struktur der ent-

sprechenden XML-Dokumente parsen kann. In dieser Klasse werden die XML-Dokumente der

Themen behandelt.

43

Page 48: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

5 Realisierung

1 @Override2 public void startElement(String namespaceURI, String localName,3 String qName, Attributes atts) throws SAXException {

5 if (localName.equals("row")) {6 list.add(new Thema());7 }else if (localName.equals("id")) {8 this.in_id = true;9 }else if (localName.equals("thema")) {

10 this.in_thema = true;11 }12 }

Listing 5.7: ThemenXMLHandler - startElement

Im Listing 5.7 wird zu Anfang beim Parsen des XML-Dokuments die „startElement“- Methode

aufgerufen. Jedes Mal, wenn ein ö�nender Tag vom Parser erkannt wird, wird diese Methode

aufgerufen. Es wird überprüft, was für einen Typ der Tag (<Typ>) beschreibt. In Zeile 5 wird

der Anfang des XML-Dokuments bearbeitet. Daher wird ein neues Thema-Element in die Liste

der verfügbaren Themen hinzugefügt, ansonsten wird je nach Typ, ein boolean auf true gesetzt.

In der nächsten Methode (5.8) wird darauf eingegangen.

1 public void characters(char ch[], int start, int length) {2 if(this.in_id){3 list.get(list.size()-1).setId( Integer.parseInt(new String(ch,

start, length)));4 }5 if(this.in_thema){6 thema += new String(ch, start, length);7 list.get(list.size()-1).setThema(thema);8 }

10 }

Listing 5.8: ThemenXMLHandler - characters

In der Methode „characters“ (5.8) wird der Tag behandelt, dessen boolean auf true gesetzt ist,

da dieser zuvor von der Methode „startElement“ (5.7) erkannt wurde. Der Inhalt des Tags wird

in das entsprechende Attribut des Themas in der Liste eingefügt bzw. gesetzt.

44

Page 49: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

5 Realisierung

1 public void endElement(String namespaceURI, String localName, String qName)2 throws SAXException {3 if (localName.equals("id")) {4 this.in_id = false;5 }else if (localName.equals("thema")) {6 thema = "";7 this.in_thema = false;8 }9 }

Listing 5.9: ThemenXMLHandler - endElement

Wird der Tag geschlossen, wird die Methode „endElement“ aufgerufen, um die jeweiligen

boolean-Attribute auf false zu setzen.

KartenXMLHandler: In dieser Klasse werden die Karten zu einem Thema geparst. Es verfügt

über die gleiche Logik wie die ThemenXMLHandler-Klasse, aus diesem Grund werden die

Code-Abschnitte nicht aufgezeigt. Einziger minimaler Unterschied ist, dass die Karten mehr

Attribute haben und daher mehr Abfragen getätigt werden müssen.

ServerURL: Die Karten und Themen werden von einem Server aufgerufen. Die Klasse spei-

chert die notwendigen Serverdaten in der Android-Datenbank. Als Default Server kann ein

Default-Server eingetragen werden, der kontaktiert wird, wenn keine Server-URL manuell

eingestellt wurde. Bei Änderung der Server-URL wird der entsprechende Eintrag in der Daten-

bank geändert.

FragenActivity: Diese Klasse beschreibt ein GUI-Element. Wenn das Lernen beginnt und die

erste Frage einer Karte aufgezeigt wird, ist diese Klasse aktiv (4.11). Die Funktionalitäten hinter

den jeweiligen Buttons werden implementiert. Außerdem greift die Klasse auf „MySQLiteHel-

per“zu, um Zugri� auf die Datenbank zu erhalten. Wird eine Frage richtig beantwortet, wird in

der Klasse in einer Methode ein Attribut inkrementiert, um sie aus Sich der Anwendungslogik

ins nächste Fach zu legen.

AntwortActivity: In dieser Klasse wird, genau wie in der Klasse „FragenActivity“, ein GUI-

Element erzeugt. Die Antwort zur Frage einer Karte wird hier mit den notwendigen Kompo-

nenten erzeugt und angezeigt. Es erfolgt, bei Bedarf, Zugri� auf die Datenbank.

45

Page 50: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

5 Realisierung

5.2 Web-Applikation Entwicklung

In diesem Abschnitt wird auf die Entwicklung der Web-Applikation eingegangen. Es erfolgt

eine Erklärung des Aufbaus der Applikation und anschließend wird auf die Erzeugung des

XML-Dokuments durch Vorstellung des Codes eingegangen.

Für die Entwicklung der Web-Applikation wurden folgende Technologien/Sprachen eingesetzt:

• HTML und CSS: Gestaltung der Ober�äche, Formulare, Hintergrundbilder, Tabellen.

• PHP: Verarbeitung der Benutzereingaben und Zugri� auf die Datenbank. Handling der

Bilder. Erzeugen der XML-Dokumente.

• Ajax: Für einen bequemeren Bilderupload. Bilder werden durch diese Technologie im

Hintergrund hochgeladen und sofort angezeigt, ohne Neuladen der Seite.

• JavaScript: Sicherheitsabfragen, beim Löschen von Bildern, Themen und Karten.

• SQL: Verschiedene SQL-Queries zur Manipulation der Datenbank.

46

Page 51: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

5 Realisierung

Aufbau

styles.css

config.php

edit.php

login.php

karten_erstellen.php

karten.php

thema_erstellen.php

themen.php

reqXML.php

ajaximage.php

upload

pages

imguploadimg

Abbildung 5.2: Aufbau der Web-Applikation

In der Abbildung 5.2 sieht man den Aufbau der Web-Applikation. Es ist die hierarchische

Ordnerstruktur zu sehen. Die Web-Applikation enthält eine „index.php“-Datei, die das ge-

samte Grundgerüst der Applikation enthält. Werden neue Seiten aufgerufen, so müssen sie

nicht das komplette Grundgerüst enthalten, sondern werden nur an die entsprechende Stelle

per „include“ eingebunden. Es erfolgt eine kurze Erläuterung der einzelnen Dateien und Ordner:

/img/: In diesem Ordner werden die Gra�ken für die GUI der Web-Applikation abgelegt.

/upload/upload_img/: Der Ordner beinhaltet die Bilder, die hochgeladen worden sind. Es

sind die Bilder die bei einer Frage und Antwort hinzugefügt werden können.

login.php: In diesem Skript werden, wenn sich die Lehrkraft einloggt, die Eingaben, sprich Be-

nutzername und Passwort, mit den Daten in der Datenbank verglichen. Aus dem eingegebenen

Passwort wird ein MD5-Hashwert gebildet. Die Passwörter in der Datenbank sind ebenfalls in

47

Page 52: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

5 Realisierung

diesem Format gespeichert, so dass nun ein Vergleich statt�nden kann. Bei korrekter Einga-

be gelangt die Lehrkraft zur nächsten Ansicht, bei falscher Eingabe wird der Zugri� verweigert.

edit.php: Die Manipulation der Datenbank geschieht in diesem Skript. Funktionen wie, Thema

erstellen, Thema ändern, Thema löschen, Karte erstellen, Karte löschen, Karte ändern, Karte

kopieren und Karte verschieben, die von der Web-Applikation ausgehen, werden hier umgesetzt.

con�g.php: Diese con�g-Datei wird dort eingesetzt, wo eine Verbindung zur Datenbank

notwendig ist. Sie enthält die Login-Informationen.

styles.css: Dieses Dokument beschreibt den Stil bzw. die Gestaltung der HTML-Elemente.

upload/ajaximage.php: Dieses Skript beinhaltet die Logik, um die Bilder der Karten im

Hintergrund hochzuladen (9Lessongs (2014)). Dabei wird darauf geachtet, dass nur erlaubte

Dateiendungen verwendet werden (gif, jpeg, png und bmp). Außerdem wird in diesem Skript

darauf geachtet, dass die maximale Dateigröße nicht überschritten wird.

pages/themen.php: Vorweg ist zu erwähnen, dass die Skripte, die im Ordner „pages“ enthal-

ten sind, je nach Ausführung, in die index.php geladen werden. Dieses Skript lädt die Themen

aus der Datenbank und zeigt sie an, außerdem können verschiedene Operationen durchgeführt

werden (siehe funktionale Anforderungen (3.3)).

pages/thema_erstellen.php: Um ein neues Thema zu erstellen und es in die Datenbank

zu laden, wird dieses Skript benötigt.

pages/karten.php: Durch dieses Skript werden die verfügbaren Karten geladen. Verschiedene

Operationen sind durchführbar (siehe funktionale Anforderungen (3.3))

pages/karten_erstellen.php: Neue Karten mit deren Inhalten für ein Thema werden mit

Hilfe dieses Skriptes umgesetzt. Datenbankzugri�e werden hierfür benötigt.

reqXML.php: Mit diesem Skript ist es möglich, ein XML-Dokument der verfügbaren Karten

und der verfügbaren Themen zu erzeugen. Die erzeugten XML-Dokumente dienen zum Aus-

tausch der Web-Applikation und Android-Applikation.

48

Page 53: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

5 Realisierung

1 <?php2 ...

4 if(isset($_REQUEST["thema"])){

6 header("Content-Type: application/xml");

8 $thema = $_REQUEST["thema"];

10 $thema_name = $mysqli->query("SELECT thema FROM themen WHERE id = ’".$thema."’")->fetch_object()->thema;

11 $result = mysqli_query($verbindung, "SELECT * FROM karten WHERE id_thema = ’".$thema."’");

13 $XMLDoc = new SimpleXMLElement("<?xml version=’1.0’ standalone=’yes’?><kartenset></kartenset>");

15 while($dbrow = mysqli_fetch_object($result))16 {17 $xmlrow = $XMLDoc->addChild("row");18 $xmlrow->addAttribute(’thema’, $thema_name);

20 foreach($dbrow as $Spalte => $Wert)21 $xmlrow->$Spalte = $Wert;22 }23 echo $XMLDoc->asXML();

25 } else {

27 header("Content-Type: application/xml");

29 $result = mysqli_query($verbindung, "SELECT * FROM themen");

31 $XMLDoc = new SimpleXMLElement("<?xml version=’1.0’ standalone=’yes’?><themen></themen>");

33 while($dbrow = mysqli_fetch_object($result))34 {35 $xmlrow = $XMLDoc->addChild("row");

37 foreach($dbrow as $Spalte => $Wert)38 $xmlrow->$Spalte = $Wert;39 }40 echo $XMLDoc->asXML();41 }42 ?>

Listing 5.10: reqXML.php

49

Page 54: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

5 Realisierung

Im Listing 5.10 ist der Ablauf zu sehen, um die XML-Dokumente zu erstellen. Als erstes

wird überprüft, ob Themen oder Karten angezeigt werden sollen. Dies wird überprüft, indem

geschaut wird, ob die Themen-ID übergeben wurde (Zeile 4). Es wird zunächst der richtige XML-

Header angegeben, damit bekannt wird, dass es sich um ein XML-Dokument handelt. Falls die

Themen-ID übergeben wurde, erfolgt eine Datenbankabfrage, um alle Karten zu einem Thema

zu erhalten. In Zeile 14 wird ein leeres XML-Dokument mit der Klasse „SimpleXMLElement“

erzeugt, welches in den nachfolgenden Schleifen mit den jeweiligen Karten gefüllt wird. Ist

Themen-ID nicht gesetzt, so ist die Übersicht aller Themen anzuzeigen. Diese wird im else-

Zweig realisiert.

5.3 Bibliotheken und Hilfsprogramme

In diesem Abschnitt werden verwendete Bibliotheken und Hilfsprogramme genannt und

vorgestellt, die bei der Entwicklung der Applikation eingesetzt wurden.

• Eclipse: In dieser Entwicklungsumgebung wurde die Android-Applikation program-

miert.

• Adobe Dreamweaver CC: Hiermit wurde die Web-Applikation erstellt.

• Android SDK: Android SDK (Software Development Kit) (Bleske (2012)) enthält Pro-

gramme, um Android-Applikationen zu entwickeln.

• SQLite Debugger:Der SQLite Debugger be�ndet sich auf dem Android-Gerät und ist ein

Werkzeug, womit man die Datenbank des Androids-Gerätes auslesen und manipulieren

kann.

• jQuery: Ist eine JavaScipt-Bibliothek, die in der Web-Applikation genutzt wurde.

• aFileChooser: Der aFileChooser ist eine Bibliothek von Paul Burke (Burke (2013)), der

ein Dateimanager für Android-Geräte verwirklicht.

50

Page 55: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

6 Schluss

In diesem Kapitel erfolgt eine Zusammenfassung der Arbeit. Es werden die Erfahrungen, die

während der Erstellung der verschiedenen Kapitel und der Anwendung gesammelt wurden,

beschrieben sowie Erweiterungsmöglichkeiten und Verbesserungen im Ausblick dargestellt.

6.1 Zusammenfassung

Der Einstieg der Arbeit erfolgte durch Beschreibung der Grundlagen. Es wurden verschiedene

Begri�e kurz erklärt und Systeme und Techniken erläutert, da sie für das bessere Verständnis

in der Analyse, dem Design und der Realisierung der gesamten Anwendung erforderlich sind.

Ein Teil der Anwendung ist eine Web-Applikation, weshalb einige Prinzipien zum Webdesign

vorgestellt wurden.

Im dritten Kapitel erfolgte die Analyse der Anforderungen an die Anwendung. Das Karteikarten-

system, gemeinsam mit Lernstrategien wurde vorgestellt, um die zu entwickelnde Anwendung

zu präsentieren. Durch Use Cases entstand ein Einblick in die Szenarien der Anwendung und

aus diesen Use Cases wurden Rahmenbedingungen und funktionale Anforderungen an die zu

entwickelnde Anwendung abgeleitet.

Im vierten Kapitel wurde das Design der Anwendung vorgestellt. Wichtig zu erwähnen ist,

das Zusammenspiel der beiden Applikationen (Android-Applikation und Web-Applikation).

In einem groben Systementwurf wurde dieses Zusammenspiel aufgezeigt. Ein wesentlicher

Teil der Anwendung ist die GUI, da sie zur Interaktion mit beiden Akteuren, Lehrkraft und

Lernendem, eine wichtige Rolle spielt. Aus diesem Grund wurden die GUI der Web-Applikation

und der Android-Applikation genauestens erläutert und deren Einfachheit aufgezeigt. Die

Kommunikation zwischen den Applikationen wurde mit Hilfe von Sequenzdiagrammen be-

schrieben. Dabei wurden nur entscheidende Abläufe veranschaulicht. Durch Verwendung des

XML-Formates erfolgt ein Austausch der jeweiligen Daten. Mit Hilfe einer Datenbank werden

die Daten zwischengespeichert, um beim Abruf aktuelle Daten zu erhalten. Das Design der

Datenbank wurde mit Hilfe eines Entitiy-Relationship-Modells aufgezeigt.

Das fünfte Kapitel stellt die Ausarbeitung zur Realisierung dar. Die Realisierung beider Ap-

plikationen wurde separat präsentiert. Wichtige Klassen der Android-Applikation wurden

51

Page 56: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

6 Schluss

vorgestellt. Ebenso wurden wichtige Methoden der jeweiligen Klassen erläutert, um einen

groben Überblick über die Android-Applikation zu erhalten. Die Methoden wurden in Form

von Code-Abschnitten präsentiert. Zur Entwicklung der Web-Applikation wurde der allge-

meine Aufbau erläutert. Der Code zur Erzeugung der XML-Datei wurde dargelegt. Es wurden

verschiedene Bibliotheken und Programme eingesetzt, um die Realisierung zu vereinfachen

und zu unterstützen, welche ebenfalls kurz aufgezeigt wurden.

6.2 Ausblick

In diesem Abschnitt werden einige Verbesserungen bzw. Erweiterungen vorgestellt. Es erfolgt

eine Unterteilung in technische Möglichkeiten, Funktionalität und Gestaltung.

Technische Möglichkeiten

Die Applikation ist nur für Android-Geräte kompatibel. Eine Erweiterung für andere Betriebs-

system, wie beispielsweise Apples iOS ist denkbar.

Zurzeit ist es nur möglich, mit Hilfe einer einzigen Lernstrategie, dem "cleveren Wiederho-

len"(siehe Abschnitt 3.1.1), die Karten zu erlernen. Die Umsetzung von anderen Strategien

wäre sinnvoll, da somit der Lernende für sich entscheiden könnte, welche Strategie für ihn am

besten geeignet ist.

Die Anwendung unterstützt nur einfache Toucheingaben. Die Nutzung von mehr Gestiken

könnte von Vorteil sein. Beispielsweise ein „Rechts-wischen“ könnte eine neue Karte erschei-

nen lassen.

Die Bilder der Fragen und Antworten von Karten werden durch Pfade im XML-Dokument

übergeben. Eine Verbesserung wäre, wenn beim Exportieren des XML-Dokuments, die Bilder

direkt binär im jeweiligen Tag enthalten sind. Dadurch müssten die Bilder nicht erst noch

heruntergeladen werden, wenn ein lokales XML-Dokument importiert wird, sondern direkt

ohne Internetzugang gespeichert werden.

Funktionalitäten

Zurzeit gibt es für die Web-Applikation nur einen Admin-Benutzer, die Lehrkraft. Durch eine

Benutzerregistrierung wäre es möglich, mehrere Benutzer anzulegen, so dass die Lernenden

ihre Karten individuell verwalten können. So wäre es denkbar, dass es zwei Kartentypen gibt.

Zum einen Benutzerkarten, die nur der jeweilige Benutzer und eventuell die Lehrkraft sieht,

und zum anderen Karten, die jeder sehen und benutzen darf, welche beispielsweise von der

52

Page 57: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

6 Schluss

Lehrkraft für alle zur Verfügung gestellt werden.

Die Fragen und Antworten könnten um Videos- und Sounddateien erweitert werden, so dass

der Lernende die Fragen ggf. besser versteht und sich die Antworten besser einprägen kann.

Zurzeit ist es nur möglich pro Frage und Antwort ein Bild einzubinden. Das Einbinden von

mehreren Bildern könnte für das Verständnis einiger Inhalte von Vorteil sein, jedoch besteht

auch die Gefahr, dass die Karte zu unübersichtlich sein wird.

Um neue Karten zu erstellen und zu ändern, muss die Lehrkraft diese in die Web-Applikation

einp�egen. Von Vorteil wäre es, wenn es in der Android-Applikation eine solche Funktionalität

auch gäbe.

Gestaltung

Um Karten und vor allem Themen zu di�erenzieren, könnte man verschiedene Hintergrund-

farben pro Thema wählen, so wäre ebenfalls eine Unterteilung möglich.

Statistiken könnten für den Lernenden hilfreich sein, um einen Überblick über das bisher

Gelernte zu bekommen. Die Statistik wäre ebenfalls für die Lehrkraft von Vorteil, um abzu-

schätzen, welcher Lerninhalt einfacher und welcher schwieriger ist.

Beim Einfügen von Frage- und Antworttext ist es zurzeit nicht möglich, den Text zu formatie-

ren. Für eine bessere Übersicht der Karten und zur Hervorhebung von Textstellen wäre diese

Funktionalität von Vorteil.

53

Page 58: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

Listings

2.1 XML - Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 XML - Tag mit Attribut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.3 XML - Tag mit Inhalt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

4.1 XML-Dokument: Themen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.2 XML-Dokument: Karten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5.1 MySQLiteHelper - onCreate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5.2 MySQLiteHelper - addKarte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.3 MySQLiteHelper - getLogoImage . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.4 MySQLiteHelper - getRandomKarte . . . . . . . . . . . . . . . . . . . . . . . . 41

5.5 MySQLiteHelper - getAllThemen . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.6 ParsingXML - parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.7 ThemenXMLHandler - startElement . . . . . . . . . . . . . . . . . . . . . . . . 44

5.8 ThemenXMLHandler - characters . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.9 ThemenXMLHandler - endElement . . . . . . . . . . . . . . . . . . . . . . . . 45

5.10 reqXML.php . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

54

Page 59: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

Abbildungsverzeichnis

2.1 Aufbau der Android-Plattform . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.1 Karteikartenlernsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.2 Anwendungsfall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.1 Systementwurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.2 Komponentenübersicht der Android-Applikation . . . . . . . . . . . . . . . . . 19

4.3 Web-Applikation Login-Ansicht . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.4 Web-Applikation Themen-Ansicht . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.5 Web-Applikation Themen erstellen-Ansicht . . . . . . . . . . . . . . . . . . . 22

4.6 Web-Applikation Karten-Ansicht . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.7 Web-Applikation Karten ändern-Ansicht . . . . . . . . . . . . . . . . . . . . . 24

4.8 Android-App Splashscreen und Hauptmenü . . . . . . . . . . . . . . . . . . . 25

4.9 Android-App Themen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.10 Android-App Beginn Lernen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.11 Android-App Frage und Anwort . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.12 Android-App Server Einstellung und XML laden . . . . . . . . . . . . . . . . . 29

4.13 Sequenzdiagramm - Themen aktualisieren . . . . . . . . . . . . . . . . . . . . 30

4.14 Sequenzdiagramm - Karten aktualisieren . . . . . . . . . . . . . . . . . . . . . 31

4.15 ERM - Web-Applikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.16 ERM - Android-Applikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.1 Klassendiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5.2 Aufbau der Web-Applikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

55

Page 60: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

Literaturverzeichnis

[9Lessongs 2014] 9Lessongs: Ajax Image Upload without Refreshing Page

using Jquery. 2014. – URL http://www.9lessons.info/2011/08/ajax-image-upload-without-refreshing.html. – Zugri�sdatum:

16.03.2014

[Bleske 2012] Bleske, C.: Java für Android: native Android-Apps programmieren ; [so entwi-

ckeln Sie Android-Apps mit Java und Eclipse ; Klassen undMethoden für Android kennenlernen

und nutzen ; so verkaufen Sie Ihre Apps bei Google Play ; der Einstieg in die mobile Program-

mierung]. Franzis, 2012 (Know-how ist blau). – URL http://books.google.de/books?id=sjPJpwAACAAJ. – ISBN 9783645601108

[Bor-learn 2014] Bor-learn: Gleich richtig lernen! 2014. – URL http://bor-learn.de/lerntechniken/karteikarten/vor-und-nachteile.html. – Zu-

gri�sdatum: 10.03.2014

[Burke 2013] Burke, Paul: aFileChooser. 2013. – URL https://github.com/iPaulPro/aFileChooser. – Zugri�sdatum: 10.03.2014

[Koch 2010] Koch, D.: XML für Webentwickler: ein praktischer Einstieg. Hanser, 2010.

– URL http://books.google.de/books?id=xZClQwAACAAJ. – ISBN

9783446422568

[Künneth 2012] Künneth, T.: Android 4: Apps entwickeln mit demAndroid SDK. Galileo Press

GmbH, 2012 (Galileo Computing). – URLhttp://books.google.de/books?id=j-BpuQAACAAJ. – ISBN 9783836219488

[Laozi 2014] Laozi: Zitat1567. 2014. – URL http://zitate.net/zitat_1567.html. – Zugri�sdatum: 23.03.14

[McLaughlin und Edelson 2006] McLaughlin, B. ; Edelson, J.: Java and XML. O’Reilly, 2006

(Java Series). – URL http://books.google.de/books?id=O59QAAAAMAAJ.

– ISBN 9780596101497

56

Page 61: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

Literaturverzeichnis

[MemoStep 2014] MemoStep: Lerntipps - E�ektiv lernen mit Karteikarten. 2014. –

URL http://www.memostep6.com/de/lerntipps-sprachen-lernen/effektiv-lernen-mit-karteikarten.htm. – Zugri�sdatum: 13.03.2014

[Türker 2003] Türker, Can: SQL: 1999 & SQL: 2003 – Objektrelationales SQL, SQLJ &

SQL/XML. Heidelberg : dpunkt.verlag, 2003. – ISBN 3-89864-219-4

[Wikipedia 2014a] Wikipedia: Android (Betriebssystem). 2014. – URL http://de.wikipedia.org/wiki/Android_%28Betriebssystem%29. – Zugri�sda-

tum: 12.03.2014

[Wikipedia 2014b] Wikipedia: Lernkartei. 2014. – URL http://de.wikipedia.org/wiki/Lernkartei. – Zugri�sdatum: 15.03.2014

57

Page 62: Eine mobile Applikation zur Umsetzung des Lernkonzepts von ...edoc.sub.uni-hamburg.de/haw/volltexte/2014/2627/pdf/BA_Meiwandi.pdf · Mobin Meiwandi Thema der Arbeit Eine mobile Applikation

Hiermit versichere ich, dass ich die vorliegende Arbeit ohne fremde Hilfe selbständig verfasst und

nur die angegebenen Hilfsmittel benutzt habe.

Hamburg, 3. April 2014 Mobin Meiwandi