Entwicklung und Erstellung einer
Android-Applikation für
Schülerinnen und Schüler
Vorwissenschaftliche Arbeit
eingereicht von Tobias Schwap
8 nat
BORG Straßwalchen
Braunauerstraße 6
5204 Straßwalchen
Betreuungsperson: Mag. Stefanie Nemeth
Straßwalchen, am 19.02.2016
Tobias Schwap, Applikation für Schülerinnen und Schüler 2
Abstract:
Das Ziel dieser Arbeit ist es, aufkommende
Hürden im Alltag von Schülerinnen und Schülern
zu erfassen und diesen mithilfe einer eigens
gefertigten Softwareanwendung für mobile
Android-Geräte zu erleichtern. Weiters soll der
Zugang zu schul- und bildungsbezogenen
Inhalten möglichst mühelos gestaltet sein, um
den Nutzerinnen und Nutzern die Möglichkeit zu
bieten, diese Informationen schnell und an jedem
Ort abrufen zu können. Der Kernteil meiner
vorwissenschaftlichen Arbeit umfasst somit die
Erhebung der gewünschten Funktionen der
Anwendung sowie die darauffolgende
Konzepterstellung und schließlich die eigentliche
Programmierarbeit der Android Applikation in
der Programmiersprache Java und der
Auszeichnungssprache XML. Dabei dienten mir
sowohl Umfragen über die Situation in der Schule
sowie über die Benutzerfreundlichkeit und das
spätere Nutzungsverhalten der Anwendung, als
auch eigene Vorkenntnisse und das im Rahmen
dieser Arbeit erweiterte Wissen über die
Softwareentwicklung als Grundlage der
Konzeptualisierung und Umsetzung der
Applikation.
Tobias Schwap, Applikation für Schülerinnen und Schüler 3
Inhalt Abstract ………………………………………………………………………………………………………………………..
1 Einführung in die Thematik ....................................................................................... 4
1.1 Schulalltag und Smartphone .............................................................................. 4
1.2 Warum Android? ................................................................................................ 6
2 Konzepterstellung ...................................................................................................... 8
2.1 Umfragen und deren Auswertungen ................................................................. 8
2.2 Erläuterung der Funktionen ............................................................................. 13
3 Entwicklung ............................................................................................................. 17
3.1 Beispiele und Verwendung von XML ............................................................... 20
3.2 Beispiele und Verwendung von Java ................................................................ 22
3.3 Erläuterung wichtiger Teile des Programmcodes ............................................ 24
4 Anwendung .............................................................................................................. 30
4.1 Benutzerfreundlichkeit und Anwendung im Alltag .......................................... 31
5 Veröffentlichung ...................................................................................................... 34
5.1 Download Website & Verbreitung ................................................................... 35
6 Fazit.......................................................................................................................... 38
7 Abbildungsverzeichnis ............................................................................................. 39
8 Literaturverzeichnis ................................................................................................. 40
Anhänge:
Fragebogen - Erhebung der generellen Situation und Anliegen der Schüler ..............
Fragebogen - Erhebung der Benutzerfreundlichkeit und Anwendung im Alltag ........
Selbstständigkeitserklärung .........................................................................................
Datenträger: VWA als PDF-Version, Fragebögen, Auswertungen
und Quelldateien in digitaler Form .............................................................................
Tobias Schwap, Applikation für Schülerinnen und Schüler 4
1 Einführung in die Thematik
Moderne Telekommunikationsmedien werden in unserer heutigen Gesellschaft als
selbstverständlich und gewöhnlich angesehen. Diese Arten der elektronischen
Informationsverbreitung sind bereits derart unter Konsumenten etabliert, dass kaum
jemand sein Smartphone, Tablet, Notebook oder seine Smartwatch in seinem Alltag
missen möchte. Sie bieten eine Vielzahl an Möglichkeiten, unser Leben zu erleichtern,
wie die einfache Weckfunktion, das morgendliche Nachrichtenlesen, die
Navigationsfunktion, das Senden und Empfangen von Kurznachrichten und E-Mails oder
das Aufzeichnen von Videos und Fotos. Durch zahlreiche Apps kann man den
Funktionsradius des Geräts deutlich erweitern. Die geläufige Kurzform App (engl.
application software) beschreibt eine Anwendungssoftware (Applikation), die dem
Nutzer neue Funktionen ermöglicht. Verbreitete Applikationen (nicht nur Mobile Apps)
sind Text- sowie Bildverarbeitungssoftware, Assistenten, Spiele oder Messenger-
dienste. In dieser Arbeit werde ich mich speziell auf die Erstellung und Anwendung einer
Applikation für Smartphones, genauer gesagt für Android-Systeme, konzentrieren.
1.1 Schulalltag und Smartphone
Meine Intention ist es, eine nützliche Applikation zu erstellen, die Schülerinnen und
Schülern in ihrem Schulalltag unterstützen sollte und eine praktische Ergänzung zu
bereits vorhandenen Medien darstellt. Diese Tasks durch eine mobile Anwendung zu
erledigen, scheint mir nicht nur in erster Linie durch den stetigen Zugang zum
Smartphone sinnvoll, sondern auch durch die Vielzahl an Aufgaben, die mittlerweile
ohne zusätzlichen Aufwand mit dem Smartphone abgewickelt werden. Diese
Applikation soll viele verschiedene Aspekte des Schulalltages vereinfachen, indem sie
möglichst viele für Schülerinnen und Schüler relevante Informationen und Aufgaben mit
wenigen Klicks abrufbar macht und die Möglichkeit bietet, schnell und möglichst ohne
Umwege an die jeweilige gewünschte Information zu gelangen.
Tobias Schwap, Applikation für Schülerinnen und Schüler 5
Ich möchte nicht unerwähnt lassen, dass die Informationsbeschaffung mithilfe der
Schul-App ausschließlich im legitimen Maße erfolgen und keinesfalls die unerlaubte
Nutzung im Unterricht fördern sollte.
Die moderate Benutzung eines Mobiltelefons sehe ich jedoch als bedenkenlosen
Ansatzpunkt meines Projekts, einer App, mit der Schüler unter anderem den aktuellen
Stundenplan einsehen, sich schnell Arbeits- und Lernunterlagen durch ihren „Moodle“ -
Account beschaffen oder durch das „Schüler helfen Schülern“- Angebot ganz einfach die
Übersicht der Schüler und Schülerinnen, die Nachhilfe geben, ansehen können. Dass das
Potential der Applikation aufgrund der durchgehenden Abrufbarkeit bei Schülerinnen
und Schülern sehr hoch ist, stellen die Ergebnisse einer Voruntersuchung dar:
83% der befragten Schülerinnen und Schüler des „BORG Straßwalchen“ geben an, ihr
Smartphone täglich mit sich zu führen, während die restlichen 17% an 4-5 Tagen pro
Woche ihr Smartphone mit in die Schule nehmen. Keiner der Befragten gab an, an
weniger als 4 Schultagen ein Mobiltelefon mitzunehmen. In Abb. 2. ist die
durchschnittliche Benutzung des Smartphones in den Pausen dargestellt. Eine große
Mehrheit der Umfrageteilnehmer verwendet demnach das Handy in den Pausen, mehr
als die Hälfte der Befragten sogar oft.
13
9
14
3
02468
10121416
Wie häufig benutzt du dein Smartphone in den Pausen?
83%
17%
Wie oft trägst du dein Smartphone an Schultagen bei
dir?
Täglich
4-5Tage/Woche
Abb. 2: Benutzung des Smartphones in den Pausen Abb. 1: Verfügbarkeit des Smartphones an
Schultagen
Tobias Schwap, Applikation für Schülerinnen und Schüler 6
Die Möglichkeit, mit Hilfe des Smartphones schulbezogene Aufgaben besser
organisieren zu können, ist folglich gegeben. Eine weitere Umfrage an Testerinnen und
Testern der Applikation in der β –Phase zeigt in Kapitel 4, inwiefern diese Möglichkeit
genutzt wurde und welche Funktionen sich als besonders praktisch im Schulalltag
erweisen.
1.2 Warum Android?
Grundsätzlich kann man Smartphones, unabhängig von Hersteller und Marke, durch
deren Betriebssystem unterscheiden. Im Laufe der Jahre haben „Apples“ iOS, „Googles“
Android, „Blackberrys“ BlackBerry OS und Windows Phone von „Microsoft“ den Markt
erobert und sich etabliert, sodass andere mobile Betriebssysteme wie Symbian oder
Palm OS kaum noch anzutreffen sind. Nach Költzsch (2014), hat sich laut „Strategy
Analytics“ der Anteil der Android-Geräte mittlerweile auf knapp 85% gesteigert und liegt
mit 250 Millionen Geräten (Stand zweites Quartal 2014) weit vor iOS & Windows Phone.
Diese Ergebnisse spiegeln in etwa die Ergebnisse der ersten durchgeführten Umfrage
wieder. Dort gaben 80% der Schülerinnen und Schüler des „BORG Straßwalchen“ an, ein
Android- Smartphone zu benutzen.
Die Ursache für solch eine weite Verbreitung von Android könnte die große Vielfalt an
Geräten von verschiedenen Herstellern mit unterschiedlicher Ausstattung und somit
Verfassens dieser Anmerkung exakt 10 verschiedene Smartphones (Tablets und
Wearable Computing –Geräte ausgeschlossen), die allesamt mit iOS ausgeliefert
werden, im Angebot hat, ist Android ein fester Bestandteil von derzeit über 24.000
verschiedenen Geräten, die von über 1.300 Herstellern angeboten werden (Vgl. Wölbert
2015).
Diese extreme Vielfalt hat aber auch ihre Schattenseiten, denn es sollen möglichst alle
dieser Geräte mit verschiedenster Hardware und Architekturen unter einem
Betriebssystem verwendbar sein. So können zum Beispiel Hardware-optimierungen
nicht so einfach wie bei Herstellern mit geringerer Streuung ihrer Produkte
vorgenommen werden.
Tobias Schwap, Applikation für Schülerinnen und Schüler 7
Android basiert auf dem Linux Kernel, der unter der GNU General Public License1
veröffentlicht wurde und stellt seit Oktober 2008 einen Meilenstein in der Geschichte
der mobilen Betriebssysteme dar. Der offene Aufbau ermöglicht Entwicklerinnen und
Entwicklern sowie Interessierten den Einblick in den Quelltext der Software und bietet
einen idealen Nährboden für begeisterte Programmierer, die weitere Programme
hinzufügen oder diese modifizieren wollen. Durch sogenannte Plugins wie das Android
Software Development Kit (Android SDK) und Android Development Tools (ADT) für die
quelloffene Entwicklungsumgebung Eclipse IDE können Android Apps ohne allzu großen
zusätzlichen Aufwand in Java und XML erstellt werden (Vgl. Künneth 2012, 21ff.).
Da mich die Softwareentwicklung in der Programmiersprache Java schon länger
interessiert und man sich in der modifizierten Entwicklungsumgebung Eclipse, dem
Android SDK, schnell zurecht finden kann, beschloss ich, meine ersten einfach
aufgebauten mobilen Anwendungen auf der Android Plattform zu verwirklichen. Die
Tatsache, dass man mit dem Android SDK auf jedem gängigen Desktop-Betriebssystem
wie OS X, Windows und diversen Linux-Distributionen entwickeln und die Anwendungen
auch außerhalb von der Download -Plattform „Google Play“ anbieten und
herunterladen kann, trägt dazu bei, dass der Einstieg in die Programmierung auf Android
nicht gar zu schwierig gestaltet ist.
1 Lizenz für freie Software (Vgl. GNU 2007)
Tobias Schwap, Applikation für Schülerinnen und Schüler 8
2 Konzepterstellung
Gestartet wurde mit dem praktischen Teil der Arbeit bereits vor dem Verfassen dieses
Kapitels. Das Hauptaugenmerk wurde dabei auf die Konzeptualisierung der
verschiedenen Funktionen und eine mögliche Umsetzung gelegt. Mehrere Skizzen über
Design, Aufbau und Relationen der Abschnitte und Organigramme über Funktionen
und deren Eigenschaften und Verknüpfungen gaben einen groben Überblick, wie die
fertige App später einmal aussehen könnte. Eine Reihe von Funktionen, die sich als
geeignet erwiesen, wurde zu diesem Zeitpunkt erstmals in der Vorabversion
implementiert. Eine Umfrage sollte später diese Features der Relevanz nach ordnen,
indem den Funktionen, die von der Mehrheit der Schüler als wichtiger empfunden
werden, eine höhere Priorität zugewiesen wird. Die Funktionen der finalen Version
werden im Kapitel 2.2 Erläuterung der Funktionen analysiert und deren Eigenschaften
aufgeführt. Doch nicht nur um den Inhalt, sondern auch um das spätere Design wollte
ich mich schon vor Auswertung des ersten Fragebogens kümmern. Ein zweiter, sehr
kurz gehaltener Fragebogen sollte Erkenntnisse über harmonierende Farbschemata
und das generelle Erscheinungsbild der Benutzeroberfläche bringen. Sowohl
Erstellung, als auch Auswertung des ersten und zweiten Fragebogens werden im
Kapitel 2.1 Umfragen genauer dargestellt.
2.1 Umfragen und deren Auswertungen
Die erste Umfrage „Fragebogen: Erhebung der generellen Situation und Anliegen der
Schüler“ dient der allgemeinen Auskunft über bevorzugte Systeme, Nutzungsverhalten
des Smartphones in der Schule und zu guter Letzt der Einstufung der Relevanz der
verschiedenen Funktionen. Die Auswertung war sehr aufschlussreich und stellte für
viele Entwicklungsschritte die Basis dar. Der erste Fragebogen wurde im Juni 2015
fertiggestellt und ab Juli 2015 interessierten Schülerinnen und Schülern zugänglich
gemacht.
Tobias Schwap, Applikation für Schülerinnen und Schüler 9
Eine kurze Information und ein abgebildeter QR-Code2, welcher beim Scannen mit dem
Smartphone die URL3 des Online-Fragebogens aufruft, wurde an Schülerinnen und
Schüler des „BORG Straßwalchen“ verteilt. 30 Freiwillige nahmen an der Umfrage teil,
sodass ich Ende August 2015 die Auswertung vornehmen konnte. Mithilfe eines
„Google-Formulars“ ist es möglich, einen Online-Fragebogen zu erstellen, der einerseits
jederzeit ohne Schwierigkeiten erreichbar ist und andererseits die Ergebnisse direkt in
ein eigenes Dokument einträgt, welches dort analysiert werden kann. Außerdem
werden weitere Möglichkeiten geboten, die bei alternativen Angeboten leider fehlen.
Beispielsweise wird der Verlauf des Fragebogens von den Antworten bestimmt. Wählt
man anfangs bei der Frage „Welches Betriebssystem für Smartphones besitzt du?“
Android aus, bekommt man eine extra Seite über Android spezifische Fragen angezeigt,
welche die Probanden mit anderem Betriebssystem einfach überspringen. Ein Großteil
der Auswahlmöglichkeiten des ersten Fragebogens sind Multiple Choice Fragen. Oftmals
wurde auch die Option „Sonstiges“ angeboten, bei der die Befragten eigene Antworten
verfassen konnten. In meiner ersten Umfrage „Fragebogen: Erhebung der generellen
Situation und Anliegen der Schüler“ wurden 30 Schülerinnen und Schüler des „BORG
Straßwalchen“ rund um das Thema Smartphone befragt. Die Ergebnisse bieten mir die
Möglichkeit, die Situation in der Schule zu erfassen und weiter Entwicklungsschritte
anzusetzen. Die erste Umfrage zeigte, dass 80% der Befragten zum Zeitpunkt der
Umfrage ein Android System nutzten.
Außerdem nutzt die Mehrheit die aktuellste Android–Version: 5.0, bzw. 5.1 wie
Abbildung 3 veranschaulicht.
2 Ein QR-Code (Quick Response): grafische Methode Informationen darzustellen 3 Uniform Resource Locator
13%
33%54%
Android Versionen
4.1 - 4.3.1 | Jelly Bean
4.4 - 4.4.4 | KitKat
5.0 - 5.1 | Lollipop
Abb. 1: Verschiedene Android-Versionen von Smartphone-Benutzern
am BORG-Straßwalchen (Stand Juli 2015)
Tobias Schwap, Applikation für Schülerinnen und Schüler 10
Die Android Version kann später für die Kompatibilität mit älteren Geräten eine
ausschlaggebend sein, sollte aber anhand der Tatsache, dass alle Systeme der Befragten
zumindest Android 4.1 unterstützen, keine allzu große Rolle spielen.
Abbildung 4 zeigt, dass über 90% der Geräte einen hochauflösenden Bildschirm besitzen
(mind. 720 Pixel breit) und 43% unterstützen sogar FullHD (mind. 1080 Pixel breit).
Abb. 2: Bildschirmauflösungen von Smartphones der Schüler (Stand Juli 2015)
Die Auflösung der Bildschirme ist entscheidend für die Skalierung und Darstellung der
Bedienungsoberfläche. Grafiken werden in Android automatisch an die
Bildschirmauflösung des Nutzers angepasst. Dabei unterscheidet das System zwischen
ldpi, mdpi, hdpi, xhdpi, …, wobei ldpi einer Pixeldichte von 120dpi und xxxdpi (extra-
extra-extrahigh) einer Pixeldichte von 640 dots per inch entspricht (Vgl.
developer.android.com).
Der Entwickler erstellt dazu alle Grafiken in unterschiedlichen Auflösungen in den dafür
vorgesehenen Verzeichnissen, in denen dann die passende Auflösung für den Bildschirm
ausgewählt wird. Aufgrund der höheren Dateigröße und den wenigen Nutzerinnen und
Nutzern von UltraHD Bildschirmen verzichtete ich auf die Umsetzung in >xhdpi und
verwende für xxhdpi und xxxhdpi gewöhnliche xhdpi Grafiken.
Im folgenden Abschnitt werden die einzelnen Funktionen ihrer, von den Befragten
zugeordneten Wichtigkeit nach aufgelistet. Eigenschaften dieser werden in Kapitel 2.2
Erläuterung der Funktionen genauer beschrieben. Die Befragten konnten jeder Rubrik
zwischen 1 und 5 Punkten zuweisen, wobei 1 für „nicht wichtig“ und 5 für „sehr wichtig“
steht.
9%
48%
43%
Bildschirmauflösung
480p 720p 1080p
Tobias Schwap, Applikation für Schülerinnen und Schüler 11
Bei der Wichtigkeit der Funktionen waren sich viele der Befragten einig: Das mit Abstand
als wichtigstes empfundenes Element der Applikation ist die Kategorie STUNDENPLAN mit
einer durchschnittlichen Bewertung mit 4,6 Punkten. Auch die Funktion
MATURAVORBEREITUNG, sowie SCHULARBEITEN und TERMINE werden von der Zielgruppe als
wichtige Bestandteile der Schülerapplikation gewünscht. Als wesentlich unbedeutender
werden hingegen die Features NACHHILFE und NOTENSCHNITT mit 3,24 bzw. 2,9 von 5
erreichbaren Punkten angesehen. Speziell die Reihung der Wichtigkeit der
verschiedenen Elemente war für die weitere Konzeptualisierung der Anwendung von
großer Bedeutung. So wurden mit dem Update auf die Version 1.0.74 die Buttons im
Menü den Ergebnissen der Umfrage angepasst und die NOTENSCHNITT-Funktion erstmals
ausgeblendet und nach Wunsch der User weiterentwickelt, um meine Aufmerksamkeit
den bedeutungsvolleren Bausteinen der App zu widmen.
4 Auf die Versionierung der Applikation bzw. die Erläuterung der Versionsnummern wird im Kapitel 5.
Veröffentlichung genauer eingegangen
2,9
3,24
3,26
3,3
3,71
4,1
4,36
4,36
4,6
1 2 3 4 5
NOTENSCHNITT
NACHHILFE
MOODLE
AKTUELLES
HAUSAUFGABEN
TERMINE
SCHULARBEITEN
MATURAVORBEREITUNG
STUNDENPLAN
Wichtigkeit der Funktionen
Abb. 3: Bewertung der verschiedenen Funktionen nach ihrer Wichtigkeit
Tobias Schwap, Applikation für Schülerinnen und Schüler 12
Die Mehrheit informiert sich bereits durch das Smartphone oder die Videowand in der
Schule über den aktuellen Stundenplan (Vgl. Abbildung 6).
Abb. 4: Verschiedene Informationsquellen bezüglich Stundenplan (Stand Juli 2015)
Nur 2 Befragte gaben an, ihre Termine aus anderen Kalendern wie z.B den „Google-
Kalender“ von [email protected] zu importieren um direkt
schulbezogene Termine im eigenen, privaten Kalender zu sehen.
Hausaufgaben werden von den Schülerinnen und Schülern des „BORG-Straßwalchen“
meist im Buch oder Heft, im Hausaufgabenheft oder auf einem Zettel vermerkt (Vgl.
Abbildung 7).
Abb. 5: Beliebtheit der Vermerkmöglichkeiten (Stand Juli 2015)
05
1015202530
Wie beziehst du derzeit Informationen über den aktuellen Stundenplan
0
5
10
15
Wie schreibst du Hausübungen im Normalfall auf?
Tobias Schwap, Applikation für Schülerinnen und Schüler 13
Alle Befragten gaben an, grundsätzlich eine Schul- App zu benutzen zu wollen, um damit
den Schulalltag besser organisieren zu können.
Die Ergebnisse der Umfrage basieren auf den Aussagen von 30 freiwilligen Schülerinnen
und Schülern des „BORG-Straßwalchen“, wovon ca. 53% im Schuljahr 2015/16 die 8.
Klasse und 24 % die 7. Klasse besuchen. Die restlichen 23% verteilen sich auf die 6. bzw.
5. Klassen. Dies ist insofern interessant, da ein Zusammenhang zwischen Schulstufe und
Tendenz zu gewissen Antworten vorhanden ist. Daher wäre eine Auflistung der
Elemente im Hauptmenü der App, die von der Schulstufe beeinflusst wird, ein
interessanter Ansatzpunkt, um Funktionen an die Interessen der jeweiligen Jahrgänge
besser anpassen zu können.
2.2 Erläuterung der Funktionen
Der folgende Abschnitt beschäftigt sich mit der Theorie hinter den verschiedenen
Features der Anwendung. Wie diese letztlich realisiert wurden und welche
Entwicklungsschritte dazu notwendig waren, sowie die Erklärung des Programmcodes
ist Thema des Kapitels 3 Entwicklung.
Vor dem eigentlichen Entwicklungsbeginn ist es ratsam, wichtige Funktionen, die später
in der Anwendung vorhanden sein sollen, aufzulisten und möglichst konkret die
gewünschten Funktionen darzustellen. Ob dies mit Stift und Papier, schriftlich verfasst
oder mittels Pseudocode5 geschieht, hängt von den persönlichen Vorlieben des
Entwicklers ab, spielt jedoch keine maßgebliche Rolle, solange die Aufzeichnungen
später möglichst problemlos verwendet werden können. Auch wenn sich zwischen
Konzepterstellung und eigentlicher Entwicklung Kleinigkeiten ändern können, helfen
solche Diagramme, Ablaufskizzen oder Darstellungen der einzelnen Komponenten um
5 Ein sogenannter Pseudocode dient nicht der direkten Ausführbarkeit, sondern trägt zur
Veranschaulichung der Eigenschaften und des Programmablaufs bei, wobei dieser meist aus natürlicher
Sprache, mathematischen und logischen Ausdrücken oder Elementen aus höheren
Programmiersprachen besteht (Vgl. Universität Bern Informatik 2008)
Tobias Schwap, Applikation für Schülerinnen und Schüler 14
bei der späteren Programmierung den Überblick zu bewahren und dienen als
Anhaltspunkt für die Translation in den Programmcode.
Das Menü dient als Startseite und Navigationshilfe zu
den einzelnen Kategorien. Die jeweiligen Seiten sind
durch sogenannte ImageButtons6 erreichbar, die im
Menü untereinander angeordnet sind (Vgl. Abbildung
8). Durch einfaches Scrollen lässt sich der Block mit den
verschiedenen Schaltflächen nach oben bzw. unten
ziehen. Die insgesamt 12 Buttons in der ScrollView7
passen sich der Bildschirmauflösung an und leiten den
Benutzer auf die jeweiligen Tabs weiter. Durch die
Zurück-Taste am Smartphone oder durch einen, in der
Anwendung eingebundenen Zurück-Pfeil, gelangt man
wieder in das Hauptmenü.
Trotz der Offensichtlichkeit mancher Funktionen werden im Folgenden die einzelnen
Kategorien vorgestellt und mit Hintergrundinformationen aufbereitet.
SUPPLIERPLAN: Einbettung des „WebUntis“-Supplierplans mittels WebView.
Der User gibt nach dem Installieren der App in den Einstellungen an, welche Klasse
er besucht. Abhängig davon wird der richtige Stundenplan geladen. Die
Programmlogik dieser Funktion wird in Kapitel 3.2 Beispiele und Verwendung von
Java genauer erläutert. Durch einen Share (Teilen) Button kann man direkt den
richtigen Stundenplan an seine Klassenkameraden per E-Mail, „WhatsApp“, SMS
und vielen weiteren Social Media schicken.
MATURAVORBEREITUNG: Unterteilt sich in die 3 Elemente der neuen Reifeprüfung.
Es werden wichtige und hilfreiche Links zur VWA, den Klausuren und den
mündlichen Prüfungen angezeigt. Auch die Terminkalender der 7. und 8. Klassen
stehen zur Verfügung, um keine wichtigen Termine zu verpassen.
6 ImageButtons beschreiben Schaltflächen oder Tasten (eng. buttons), die eine Grafik auf ihrer
Oberfläche oder ihren Hintergrund anzeigen 7 ScrollView bezeichnet den Container des Layouts, in dem sich die verschiebbaren Elemente befinden
Abb. 6: Screenshot Menü (V.1.0.8)
Tobias Schwap, Applikation für Schülerinnen und Schüler 15
SCHULARBEITEN: Durch „WebUntis“ unterstützte Anzeige der Schularbeitentermine.
Diese kann man ebenfalls mittels ShareButton schnell und unkompliziert an seine
Mitschüler senden. Außerdem wird man durch das Add-Event Icon in die
Terminübersicht weitergeleitet und kann dort sofort die Schularbeitentermine
direkt in den privaten Kalender eintragen.
TERMINE: Schnittstelle des „Google-Kalenders“.
Der User kann sich mittels „Google“-Account anmelden und hat dort die Übersicht
seiner Termine. Diese lassen sich problemlos hinzufügen und werden direkt
synchronisiert, sodass die Benutzerin oder der Benutzer den aktuellen Kalender
überall abrufen kann. Die hinzugefügten Events werden also in den „Google-
Kalender“ der User eingetragen und sind somit natürlich auch außerhalb der
Schul-App abrufbar.
HAUSAUFGABEN: Ebenfalls „WebUntis“-WebView.
Man kann sich mit seinem „WebUntis“ Schüleraccount anmelden und bekommt
somit Übersicht zu den anstehenden Hausaufgaben.
AKTUELLES: Bietet Neuigkeiten aus der Schule an und zeigt die Aktivitäten auf der
Schulwebsite.
MOODLE: Zugriff auf die „Moodle“-Kurse und Unterrichtsmaterial, Hausübungen
oder Lernunterlagen, die dort hochgeladen werden können.
NACHHILFE: Liste der Teilnehmer des Projekts „Schüler helfen Schülern“
KONTAKT: Bietet unkompliziert Zugang zu E-Mail Adressen, Telefonnummern und
Anschrift der Schule. Auch die Kontaktdaten des Schulsprechers und mir als
Entwickler sind dort zu finden, falls Wünsche oder Vorschläge direkt an uns
gebracht werden möchten.
INFORMATION: Kurze Beschreibung über mich und meine VWA.
EINSTELLUNGEN: In den Einstellungen kann man, wenn gewünscht, den Namen
eintragen, Notifications ein bzw. ausstellen und sowohl Schulstufe, als auch den
Zweig auswählen, um den richtigen Stundenplan angezeigt zu bekommen.
UPDATE: In der Kategorie UPDATE hat man direkt den Überblick, welche Version
aktuell installiert ist und ob bereits eine neuere Version zum Download
bereitsteht. Außerdem sieht man die neuen Änderungen, die dem User nach dem
Update zur Verfügung stehen.
Tobias Schwap, Applikation für Schülerinnen und Schüler 16
Da sich all diese Funktionen in der Entwicklungsgeschichte der Applikation verändert
haben, wurde seit der ersten Version V.1.0.0 an ein Dev-Log8 geführt und alle
Änderungen der darauffolgenden Versionen in den Changelogs9 eingetragen. Die
wichtigsten Neuerungen der Changelogs werden auch unter Update angezeigt, sodass
die Userinnen und User sofort wissen, was sich mit dem Update auf die neue Version
ändert. Auf der Download- Seite der App, auf die im Kapitel 5.1 eingegangen wird,
stehen unter „Ältere Versionen“ alle Versionen mit dem jeweiligen Changelog in einem
Verzeichnis zur Verfügung. Ganz unten im Verzeichnis befindet sich die dev_log.txt in
der der gesamte Updateverlauf der App aufgezeichnet ist, wobei die einzelnen
Versionen immer mit Veröffentlichungsdatum und den jeweiligen Neuerungen aus den
Changelogs aufgelistet sind. Das Dev-Log, wobei Dev für Development (=Entwicklung)
und Log für die Protokollierung und Aufzeichnung der Versionen steht, ist somit die
Gesamtheit aller einzelnen Changelogs.
8 Development Log
9 Unter einem Changelog versteht man die Aufzeichnung und Protokollierung der Änderungen in einer
Datei
Tobias Schwap, Applikation für Schülerinnen und Schüler 17
3 Entwicklung
Nach der Strukturierung der Funktionen und des Programmaufbaus kann die eigentliche
Programmierarbeit beginnen. Wie bereits in Kapitel 1.2 Warum Android? angeführt,
kann man für die Programmierung von Android-Anwendungen das sogenannte ADT10,
ein Plugin11 für die Entwicklungsumgebung Eclipse, das für die Programmiersprache Java
konzipiert wurde, benutzen und ohne größeren Aufwand mit der Entwicklung unter
Android starten. Das Android SDK12, welches ebenfalls von „Google“ zur Verfügung
gestellt wird, sorgt dafür, dass zahlreiche Bibliotheken bzw. APIs13 sowie die nötigen
Treiber für das Live-Debugging14 mit einem Android Gerät oder einem AVD15 verwendet
werden können. Aufgrund der in Android implementierten Java-Laufzeitumgebung liegt
die Wahl der Programmiersprache Java nahe. Natürlich könnte man auch andere
Sprachen in Erwägung ziehen, jedoch ist meiner Meinung nach die native
Programmierung, im Fall von Android also Java, geeigneter, da diese im Gegensatz zu
Web Apps für das Betriebssystem besser angepasst und optimiert ist, die zum Beispiel
auf HTML5 basieren können. Die unkomplizierte Einbindung von XML16 in Java unter
dem Android ADT gestaltet sich als sehr praktisch. Grundsätzlich lassen sich in XML nicht
nur diverse Daten speichern und aufrufen sowie mit Tags versehen, sondern es
ermöglicht in Android auch den Aufbau von grafischen Darstellungen. Man fügt in den
jeweiligen Layout- XML Dateien die einzelnen Bestandteile wie Textfelder, Bilder und
diverse andere Bausteine ein und trägt deren, im besten Fall relativ zur Bildschirmgröße
angepassten, Koordinaten und Abmessungen ein. Der Einsatz von Java mit den Android
Bibliotheken ist ebenfalls sehr benutzerfreundlich und die zahlreichen Erweiterungen,
die an Android Systeme angepasst sind, ermöglichen eine komfortable Einbindung von
Android spezifischen Funktionen.
10 Android Development Tool 11 Erweiterungsmodul 12 Software Development Kit 13 application programming interface 14 Auffinden von bugs (Programmfehler) 15 Android Virtual Device beschreibt einen Emulator, der ein Android Gerät simulieren kann 16 Extensible Markup Language
Tobias Schwap, Applikation für Schülerinnen und Schüler 18
Zu Beginn wird ein Projekt
angelegt, wobei der Name der
Anwendung und die
unterstützten Android Versionen
eingetragen werden können,
sowie der Compiler17 eingestellt
werden kann. Nach Abschluss
der Projekterstellung generiert
die Entwicklungsumgebung eine komplette
Ordnerstruktur mit allen notwendigen Dateien, die das Grundgerüst darstellen, welches
später nach Belieben erweitert werden kann. Abbildung 9 stellt die Ordnerstruktur des
Projekts dar. Die Ordner weisen mittels Abkürzungen auf den Inhalt hin und neu
angelegte Ordner sollten im Sinne der Überschaubarkeit ebenfalls in diesem Muster
erstellt werden, um im Folgenden nicht lange nach Inhalten suchen zu müssen. Im src18
- Ordner befinden sich die .java Dateien,
die den Quellcode beinhalten. In
Abbildung 10 sind die einzelnen .java
Dateien abgebildet. Der Inhalt der
MainActivity.java wird beim Starten der
Anwendung aufgerufen und stellt somit
die Spitze der Programmhierarchie dar.
Das Beenden einer anderen Klasse führt
wieder zum Aufrufen der MainActivity.
Die Klassen class1 bis class12 beinhalten
den Code der einzelnen Tabs, die man
durch das Hauptmenü (MainActivity)
öffnen kann.
17 Der Compiler ist der Übersetzer einer Programmiersprache
in einen für den Prozessor lesbaren Code
18 Abk. engl. source / sourcecode (Quellcode)
Abb. 9: Ordnerstruktur der App
Abb. 10: Verzeichnis der Quelldateien
Tobias Schwap, Applikation für Schülerinnen und Schüler 19
Diese Bezeichnungen sind zugegebenermaßen nicht optimal gewählt, denn sie sagen
nichts über deren Inhalt aus. Dennoch findet man sich in Projekten dieser
Größenordnung gut zurecht, vor allem, wenn wenig Interaktion zwischen den
verschiedenen Klassen stattfindet. Weitere Ordner sind, wie in Abbildung 11 zu
erkennen ist, der assets Ordner, in dem die von mir ausgewählten Schriftarten „Roboto-
Light“ und „Roboto-Thin“ liegen.
Ein weiterer wichtiger Ordner für Entwickler ist der res (Ressourcen) Ordner. Sowohl die
Grafiken in verschiedenen Auflösungen (hdpi-xxhdpi) als auch das Layout (Abbildung 12)
und diverse Datenwerte (values) zählen zu diesen Ressourcen. Das Layout der einzelnen
Untermenüs befindet sich in der jeweiligen .xml Datei im Ordner layout. Beim Aufrufen
einer neuen Klasse wählt jene das passende Layout und stellt diese als Hintergrund dar.
Dabei sind die Bilder, Texte und sonstige Darstellungen nicht in der .xml Datei
gespeichert, sondern sie verweist lediglich mittels IDs und Attributen zu den Strings19 im
Fall von Textdarstellung oder den Drawable-Einträgen bei Bildern.
19 Zeichenkette
Abb. 11: Verzeichnis der Ressourcen Abb. 12: Verzeichnis der Layout-Dateien
Tobias Schwap, Applikation für Schülerinnen und Schüler 20
3.1 Beispiele und Verwendung von XML
In der Android-Programmierung findet XML also in verschiedenen Bereichen
Verwendung. Zum Beispiel in Abbildung 13, der Erläuterung eines XML-Abschnittes:
Abb. 13: Ausschnitt eines Buttons in XML-Code
Durch das Öffnen des Buttons mittels <Button und dem Abschließen durch /> wird der
Abschnitt zwischen diesen Begrenzungen für weitere Definitionen des Buttons genutzt
und als ein solcher interpretiert. Zuerst wird der Schaltfläche eine eindeutige ID
20zugewiesen. Da es sich bei diesem Beispiel um den SUPPLIERPLAN Button handelt, ist
diesem Button der Name btn_supplierplan zugewiesen, wobei btn als Abkürzung für
Button steht. Die nächsten vier Zeilen behandeln das Layout der Schaltfläche. Dabei wird
die Breite des Buttons an die Breite der ScrollView durch fill_parent angepasst. Ein
Abstand von 5dp21 nach oben wird mittels layout_marginTop=“5dp“ erreicht, sodass die
Buttons im Menü nicht direkt untereinander liegen. Als nächstes wird als Hintergrund
des Buttons die Hintergrundgrafik des Menübuttons eingefügt. Die minimale Höhe
beträgt 60dp und die minimale Breite 180dp, was ein zu kleines Anzeigen bzw. Verzerren
bei Geräten mit geringerer Bildschirmauflösung verhindern soll, um die Navigation nicht
zu beeinflussen. In der darauffolgenden Zeile wird festgelegt, welcher Wert übergeben
werden soll, falls das Bild angeklickt wird. In diesem Fall wird der eindeutige Wert
supplierplan_click der in der MainActivity.java weiterverwendet, um die Klasse des
Supplierplans aufzurufen.
20 Eindeutige Kennummer
21 Density-independent pixel: Maßeinheit, die unabhängig von der Bildschirmauflösung gilt
Tobias Schwap, Applikation für Schülerinnen und Schüler 21
Der Text, welcher dann auf dem Knopf erscheinen soll, ist als String in einer weiteren
XML Datei abgespeichert und zeigt SUPPLIERPLAN an. Würde ich nun den Button von
SUPPLIERPLAN in STUNDENPLAN umändern wollen, müsste ich nicht alle betroffenen Dateien
nach SUPPLIERPLAN durchsuchen, sondern kann dies ganz einfach in der strings.xml Datei
abändern. Zuletzt wird noch die Schriftfarbe auf ein Grau mit dem HEX-Wert von
#424242, welcher von mir unter @color/Grau wiederum in einer XML-Datei angelegt
wurde.
Doch wie Abbildung 14 zeigt, lassen sich auch Datensätze einfach in XML eintragen:
Abb. 14: Beispielhafter Auszug von Datensätze in XML
Das Einfügen von Strings, in diesem Beispiel ein Ausschnitt aus der für alle Klassen im
Projekt zugänglichen strings.xml , lässt sich in XML mit der Öffnungsbezeichnung <string
umsetzen, wobei der eindeutige Name des Zeichensatzes unter Anführungszeichen
gesetzt und nach der Bezeichnung des Datentyps der eigentliche verknüpfte String
angegeben wird. So kann man später immer auf diesen String zugreifen und muss diesen
bei mehrfacher Verwendung nicht jedes Mal erneut eintippen, sondern kann diesen
einfach über @string/ aufrufen. So verweist zum Beispiel @string/author auf „Tobias
Schwap” und dadurch wird diese Zeichenkette dann angezeigt.
Tobias Schwap, Applikation für Schülerinnen und Schüler 22
3.2 Beispiele und Verwendung von Java
Auf der „JavaOne“ Konferenz 2010 verkündete Thomas Kurian22, dass alleine über drei
Milliarden Mobiltelefone Java-Programme ausführen. Java ist eine weit verbreitete
objektorientierte Programmiersprache, die universell einsetzbar ist und sich für die
Industrie als robuste Programmiersprache herausstellte. Der Java-Compiler übersetzt
die Syntax in einen für einen virtuellen Prozessor lesbaren Bytecode. Es wird also nicht
direkt die reale Hardware mit Maschinencode versorgt, sondern der Bytecode gibt
Anweisungen wie etwa arithmetische Operationen. Dies trägt dazu bei, dass das
Betriebssystem beziehungsweise die Plattform unter Java eine untergeordnete Rolle
spielt, da die Sprache plattformunabhängig ist. So bindet sich Java nicht an bestimmte
Prozessoren oder Architekturen, sondern die Laufzeitumgebung verarbeitet den Java-
Bytecode. Die JRE 23dient also als Vermittler zwischen System und Bytecode (Vgl.
Ullenboom 2012)
Da Java eine objektorientierte Programmiersprache ist, liegt die Verwendung von
verschiedenen Klassen für die jeweiligen Funktionen nahe. Obwohl diese Applikation
mit ca. 1700 Zeilen Java-Code (Stand Dezember 2015; V.1.0.8) nicht zu den
aufwendigsten Projekten zählt und diese auch in deutlich weniger Klassen abgefertigt
hätte werden können, entschied ich mich, für jeden Tab eine eigene Klasse anzulegen,
um später die Übersicht zu bewahren. Im Laufe dieses Kapitels werden die Grundlagen
der Verwendung von Java und nähere Beispiele anhand mancher Funktionen der
Anwendung erläutert.
Abb. 15: Java-Klasse mit Pfad
22 President, Product Development, Oracle (oracle) 23 Java Runtime Environment
Tobias Schwap, Applikation für Schülerinnen und Schüler 23
Abbildung 15 zeigt die Grundstruktur einer Java Klasse. Dabei wird in meinem Fall noch
der Pfad angegeben, in dem sich die betreffende Datei befindet, nämlich
„BorgStrasswalchen\src\Tobias\Schwap\borgstrasswalchen“.
Der eigentliche Programmcode wird in die public class eingetragen. In Java
unterscheidet man zwischen drei sogenannten Access Modifier, den
Zugriffsmodifikatoren private , protected und public . Diese regeln die Zugriffsrechte auf
andere Klassen. Da ich möchte, dass meine Beispielklasse von anderen Klassen
aufgerufen werden kann, wähle ich also den Access Modifier public . Die geschwungenen
Klammern definieren jeweils den Bereich der Klassen beziehungsweise legen den Block
fest, der zu diesem Abschnitt gezählt werden soll.
Abb. 16 Ausschnitt der MainActivity.Java
In dieser Klasse werden dann alle gewünschten Anweisungen in Anweisungsblöcken
geschrieben. Dabei wird jede Anweisung mit einem Semikolon am Ende versehen. Ein
solcher Anweisungsblock ist in Abbildung 16 zu sehen und entstammt der
MainActivity.java, auf die ich später noch genauer eingehen werde.
Eine Klasse besteht aus beliebig vielen solcher Anweisungsblöcken, die immer durch die
geschwungenen Klammern gekennzeichnet sind. Diese können viele unterschiedliche
Anweisungen beinhalten und werden entweder aufgerufen, laufen automatisch ab oder
wiederholen sich immer wieder als Schleife. Der public void supplierplan_click wird
aufgerufen, wenn man im Menü den Supplierplan Button anklickt. Die einzige
Anweisung, die dieser Block beinhaltet, ist das Aufrufen einer neuen Klasse, die sich im
Verzeichnis \src\Tobias\Schwap\borgstrasswalchen (Projektpfade werden in Android
mit Punkten und nicht mit „\“ oder „/“ angegeben) befindet und die Kennzeichnung
class1.java trägt. Diese class1 beinhaltet den gesamten Code, der zum Darstellen der
SUPPLIERPLAN-seite der App notwendig ist.
Tobias Schwap, Applikation für Schülerinnen und Schüler 24
3.3 Erläuterung wichtiger Teile des Programmcodes
Die Erklärung der Programmlogik gewisser Teile der App soll in diesem Kapitel einfache
Zusammenhänge sowie etliche Funktionen hervorheben und dabei auf die Umsetzung
von Gedanken in Programmcode einen Schwerpunkt legen. Die erste Abbildung dieses
Kapitels, Abbildung 17, zeigt einen Screenshot der im vorherigen Kapitel beschriebenen
class1, die für alle Funktionen der Supplierplanfunktion der Schul-App verantwortlich
ist. Sie setzt sich aus etwa 270 Zeilen zusammen (Stand Dezember 2015; V.1.0.8). Im
Folgenden werde ich die wichtigsten Abschnitte näher erläutern und nicht auf jeden
Block einzeln eingehen.
Abb. 17: Java-Code, der für die Zuweisung der Schulklasse verantwortlich ist
In den ersten Zeilen werden zuerst der Pfad wie bereits behandelt angegeben und
nötige Funktionen, Bibliotheken oder sonstige Erweiterungen importiert (Vgl. Abbildung
17). Da diese nach dem Importieren nicht mehr benötigt werden, habe ich diese
ausgeblendet und setze direkt mit Zeile 39 fort. Die Anweisung „//“ kennzeichnen in
Java einen Kommentar, der sich über eine Zeile erstreckt. Somit wird alles nach zwei
Schrägstrichen in dieser Zeile vom Compiler nicht übersetzt und der Kommentar
„SUPPLIERPLAN“ dient nur dem Informationszweck während des Entwickelns, um sofort
zu erkennen, in welcher Klasse man sich gerade befindet. Das Anhängen von extends
ActionBarActivity in Zeile 41 an die bekannte Klassendefinition ermöglicht das Benutzen
Tobias Schwap, Applikation für Schülerinnen und Schüler 25
der oben angezeigten Leiste in Android Anwendungen. In dieser wird oben links das Icon
und rechts davon der Name der App, also „BORGStrasswalchen“ eingeblendet. Die
darauffolgenden Zeilen, die noch nicht Bestandteil des nächsten Blockes sind, erstellen
zwei Strings, also Zeichenketten. Diese werden als klasse und supplink erzeugt und
tragen vorrübergehend der Wert „/“. In der nächsten Methode wird jener
überschrieben, nachdem er zuvor mit einem „leeren Wert“ beschrieben wurde, um im
Falle eines Fehlers in der nächsten Methode einen Programmabsturz zu verhindern, da
von diesen Strings in der Programmabfolge des nächsten Blockes ein Wert erwartet
wird. Die Zeilen 52 bis 56 holen sich nun die Werte für die zwei Strings „schulstufe“ und
„zweig“ aus den Einstellungen, die der Anwender oder die Anwenderin hinterlassen hat.
Folgt ein Stern nach einem Schrägstrich, wird der gesamte Text bis zum nächsten Stern
mit Schrägstrich auskommentiert, wie in Zeile 58 bis 64 zu erkennen ist. Diese Tabelle
dient nur der Übersichtlichkeit, um dann sowohl die Werte der Schulstufe, als auch die
des Zweiges identifizieren zu können. In den Einstellungen kann man die Klasse 5 bis 8
wählen, wobei 5 den Wert 1 und 8 den Wert 4 hat. Auch dem Zweig wird ein
numerischer Wert zugeordnet, nämlich dem „A-Mus“ Zweig der Wert 1 bis zum „Nat“-
Zweig, der den Wert 3 zugewiesen bekommt. Aus diesen zwei Zahlen kann nun ein
eindeutiger kombinierter Wert für alle 12 Klassen erstellt werden:
Abb. 18: Programmlogik: Zuweisung des Supplierplans der jeweiligen Schulklasse
Tobias Schwap, Applikation für Schülerinnen und Schüler 26
In der Abbildung 18 ist die Abfragelogik des passenden Supplierplans für die fünften
Klassen zu sehen. Eine If -Abfrage kann sowohl mit booleschen, als auch mit
numerischen Abgleichen besetzt werden und führt den Code in den geschwungenen
Klammern nur aus, wenn die Bedingung wahr ist. Wäre zum Beispiel die Bedingung
if(x==1) und x hätte den Wert 1, so wäre der Ausgang wahr und die Anweisungen im
Block würden ausgeführt werden. Angenommen in den Einstellungen werden die 5.
Klasse und der Nat Zweig angegeben. Die beiden Werte „schulstufe“ und „zweig“ haben
also den Wert 1 und 3. Nun wird in der ersten If - Anweisung in der Zeile 66 abgefragt,
ob die Schulstufe dem Wert 1 entspricht und der Zweig ebenfalls den Wert 1 hat. Da
dies nicht der Fall ist, werden die Anweisungen dieses Blockes ausgelassen, ebenso, wie
die nächste If- Abfrage, da die obige Bedingung immer noch nicht zutrifft. Bei der dritten
Bedingung wird nun abgefragt, ob die Schulstufe den Wert 1 und der Zweig den Wert 3
hat. Da dies zutrifft, wird der Code in der Schleife ausgeführt. Zuerst wird als Layout
Datei die supplierplan.xml Datei festgelegt. Diese beinhaltet unter anderem eine
Webanzeige, die sogenannte WebView. Diese ermöglicht es Web- Inhalte in einem
Fenster in der App anzuzeigen, jedoch muss dieser erst mit ausreichend Informationen
bedient werden, bevor man den Web Inhalt in der App sieht. Zuerst wird dieser, wie in
Zeile 94 zu sehen ist als solcher deklariert und mit der eindeutigen ID aus der XML Datei
verknüpft. Die folgenden Zeilen sind unter anderem für das Erstellen eines Pfades für
die Zwischenspeicherung verantwortlich und ermöglichen das Ausführen von
JavaScript- Elementen in dieser WebView. In Zeile 100 wird der WebView noch eine URL
gegeben, die geladen und angezeigt werden soll. Der „WebUntis“-Dienst, der auch auf
unserer Schule unter anderem für die Bereitstellung eines Online-Supplierplans benutzt
wird, verwaltet die einzelnen Schulklassen über ein ID-System. Dabei hat zum Beispiel
die Klasse „5 A-mus“ im Schuljahr 2015/16 die kleinste zugewiesene ID von 90 und die
„8 Nat“ eine ID von 101. Dieses System mache ich mir zu Nutze, indem ich jeweils die
URL des Supplierplans lade und angebe, abhängig von der Klasse am Ende der URL
„&id=“ plus der gewünschten ID, um den richtigen Supplierplan zu laden. Also wird in
Zeile 100 der richtige Supplierplan für die Klasse 5 nat mit der ID 92 geladen und
anschließend wird der String „klasse“, der am Anfang der String Klasse mit „/“
beschrieben wurde mit „5 Nat“ und die Zeichenkette „supplink“ beinhaltet nun den
durch den URL-Kürzer Dienst „Google url shortener“ oder kurz „goo.gl“ gekürzten Link
Tobias Schwap, Applikation für Schülerinnen und Schüler 27
zum aktuellen Supplierplan, der wichtig für eine weitere Methode ist, die in Abbildung
19 gezeigt ist.
Abb. 19 Java-Methode, die für das Teilen des Supplierplans verantwortlich ist
Beim Klicken des Teilen Buttons, wird der in Abbildung 19 abgebildete void aufgerufen,
der einen neuen Intent erstellt, der es ermöglicht, direkt über Messenger-Apps wie
„Whatsapp“, „Facebook“, „Hangouts“, „Google+“, aber auch SMS, E-Mail oder
Bluetooth und NFC die Nachricht zu teilen. Ein Intent beschreibt eine Operation, die es
ermöglicht, eine neue Activity aufzurufen Vgl. (developer.android.com). Dabei wird der
Wert des Strings „klasse“ und „supplink“ eingesetzt und etwas formatiert, um eine
kompakte Nachricht senden zu können. Am Ende dieser automatisch generierten
Nachricht wird eine Signatur angehängt, die es dem Empfänger ermöglicht, die App
herunterzuladen, falls er diese noch nicht besitzt.
So kann man, wie auf Abbildung 20 und 21 zu erkennen ist, schnell und unkompliziert
den aktuellen Stundenplan senden und muss dabei nur auf den Teilen Button oben
rechts im Tab SUPPLIERPLAN drücken und einen Empfänger auswählen.
Abb. 20 : Screenshot des geteilten
Supplierplans per Mail
Abb. 21: Screenshot des geteilten Supplierplans
über WhatsApp
Tobias Schwap, Applikation für Schülerinnen und Schüler 28
Ändert der Benutzer oder die Benutzerin in den Einstellungen die Klasse, so wird der
Stundenplan bei erneutem Aufrufen mit den neuen Werten geladen und der Link, der
beim Teilen versendet wird, verweist ebenfalls auf die neue Klasse. Die Funktion, den
Zähler des Schuljahres immer am Datum des Schulanfangs des neuen Jahres um einen
Wert zu erhöhen, könnte so automatisch im nächsten Schuljahr den neuen Stundenplan
anzeigen, was auch für spätere Versionen nach der Veröffentlichung der Vollversion
1.1.0 vorgesehen ist.
Um die Seite des Supplierplans wieder zu verlassen, kann man entweder die Zurück-
Taste am Smartphone drücken oder durch den back- Pfeil, der im Fenster oben links
angezeigt wird, in das Hauptmenü zurückgelangen. Dabei wird, wie in Abbildung 22 zu
erkennen ist, btn_back_click aufgerufen, die das geöffnete Fenster schließt und den
User wieder in die Übersicht leitet.
Abb. 22: Java-Code, der die aktuelle Klasse beendet
Abb. 23: Java-Code: ruft die richtige Layout-Datei beim Starten auf
Grundsätzlich werden in jedem Tab, auch der MainActivity.java, die
Standardschriftarten durch eine, dem Design der App angepassten Schriftart angepasst.
Die Schriftart „Roboto-Light“ , die zum Anzeigen von Text in der App verwendet wird,
befindet sich im /fonts/ Ordner, auf den die Methode initTypeface zugreift und die
Schriftart, das sogenannte Typeface lädt.
Tobias Schwap, Applikation für Schülerinnen und Schüler 29
Diese Methode wird gleich beim Starten der Anwendung und von Klassen mit grafischen
Elementen aufgerufen (siehe Abbildung 23). Um den Vorgang des Überschreibens der
Schriftart besser veranschaulichen zu können, werden in diesem Beispiel alle
Textelemente der Reihe nach initialisiert und jeweils den Variablen für Buttons b1 - b13
, am Beispiel des Anzeigetextes im Startmenü zugeordnet, wie in Zeile 224-237 in
Abbildung 24 zu erkennen ist und anschließend mittels .setTypeface der neuen Schriftart
zugeordnet. Somit erscheint der Text auf den Anzeigeflächen in der neuen Schriftart.
Nach demselben Prinzip werden auch reine Textfelder in ihrem Typeface verändert.
Abb. 24: Methode, die den Text in der gewünschten Schriftart anzeigen lässt
Tobias Schwap, Applikation für Schülerinnen und Schüler 30
4 Anwendung
Im Stadium der Version 1.0.8 (14.12.2015) wurde die App den Schülerinnen und
Schülern des „BORG Straßwalchen“ kostenlos zur Verfügung gestellt. Durch Plakate in
der Schule und Hinweise in sozialen Netzwerken wurden bis Ende Jänner 2016 ca. 250
Aufrufe auf die Website, die den Download der Anwendung zur Verfügung stellt,
verzeichnet. Über den bereits erwähnten URL-Kürzungsdienst „Google url shortener“ ,
kurz „goo.gl“, wurde eine gekürzte URL in Form von QR Codes und Links verbreitet. Der
Kürzungsdienst erstellt eine Statistik über Aufrufzahlen, Browser und Plattform, die nur
durch den Administrator der Website eingesehen werden können. Die 250
Seitenaufrufe dürfen aber nicht als absolute Downloads interpretiert werden, da auch
iOS-Benutzer, Desktopanwender und sonstige, nicht kompatible Systeme die Seite
aufgerufen haben und von der Gesamtzahl abgerechnet werden müssen. Somit bleiben
etwa 150 Aufrufe auf Android Geräten über, die potentielle Installationen bedeuten. Ich
schätze die Zahl der Installationen jedoch weit geringer, da man bei jedem Update auf
die neue Version ebenfalls die URL aufruft und somit die Gesamtanazahl der Aufrufe
erhöht. Ab der Version 1.0.8 ist der Zugang zu einem Online-Fragebogen, der Aufschluss
über das Nutzungsverhalten der Applikation geben soll, im Menü fest integriert und wird
nach dem Beantworten der Fragen ganz einfach ausgeblendet (Vgl. Abb. 25). Der
Fragebogen behandelt sowohl die Zufriedenheit mit Aussehen und Design, als auch
Funktionen Aufbau und mögliche Probleme der App, was man als Usability24
zusammenfassen kann. Der Usability -Test soll zeigen, ob die Anwendung den
Anforderungen der Schülerinnen und Schülern entspricht und diese daraus einen
Nutzen ziehen können. Im folgenden Unterkapitel werden die Ergebnisse des
Fragebogens näher erläutert.
24 Engl. Brauchbarkeit, (Be)Nutzbarkeit, Benutzerfreundlichkeit
Tobias Schwap, Applikation für Schülerinnen und Schüler 31
4.1 Benutzerfreundlichkeit und Anwendung im Alltag
Direkt im Menü der App
wurde den Schülerinnen und
Schülern die Möglichkeit
angeboten, ihre Erfahrungen
und Eindrücke im Rahmen des
Fragebogens „Erhebung der
Benutzerfreundlichkeit und
Anwendung im Alltag“
preiszugeben. Diese Umfrage
wurde ebenfalls als „Google-
Formular“ verbreitet und
umfasst insgesamt 21 Fragen,
die in Usability und Nutzungsverhalten und Anwendung im Alltag unterteilt sind. 22
freiwillige Nutzerinnen und Nutzer nahmen diesmal an der Befragung teil und
ermöglichten eine genaue Auswertung der Zufriedenheit sowie der Bedürfnisse der
User. Damit hinterließen sie mir ein Feedback, das dazu beitragen soll, die Anwendung
stetig zu verbessern. Die Testpersonen konnten bis zu fünf Punkte vergeben, wobei „1“
für „Trifft überhaupt nicht zu“ und „5“ für „Trifft sehr zu“ steht. Es folgen die
relevantesten Ergebnisse des Fragebogens in teilweise grafisch ausgearbeiteter Form:
Abb. 25: Screenshot, Fragebogen im Menü (V.1.0.8)
Abb. 26: Übersichtlichkeit des Menüs
Abb.27: Optisch ansprechendes Design
Tobias Schwap, Applikation für Schülerinnen und Schüler 32
Bei 95% der Anwender läuft die Applikation einwandfrei und 21 von 22 Testpersonen
hatten nie Probleme mit Abstürzen, Programmfehlern oder falschen Darstellungen.
Gerade bei einer instabilen, mobilen Internetverbindung ohne Zugang zu WLAN kann
das Laden größerer Datenmengen Probleme bereiten. Doch bei der Auswahlmöglichkeit
„Manche Tabs laden lange und Webinhalte stehen selbst in einem WLAN-Netzwerk erst
nach langer Ladezeit zur Verfügung“ gaben nur zwei Personen an, bereits Erfahrungen
mit längeren Ladezeiten innerhalb der App gemacht zu haben. Hardwarebedingte
Ladezeiten lassen sich nicht verhindern, speziell ältere Geräte oder eine hohe RAM/CPU-
Auslastung kann dazu führen, dass gewisse Inhalte spürbar länger laden. Optimieren
kann der Entwickler diese Vorgänge entweder durch eine Verminderung der
Datenmengen oder das Vorabladen beziehungsweise das Cachen von Content oder eine
Umstrukturierung des Programmaufbaus, der die Hardware schont.
Die Funktion SUPPLIERPLAN gefällt dem Großteil der Befragten besonders gut und wird
auch regelmäßig genutzt. Bei der Frage nach weiteren gewünschten Funktionen der
BORG Straßwalchen APP gaben zwei der Nutzerinnen und Nutzer an, die Abwesenheiten
einsehen und ausdrucken zu wollen. Außerdem wird die Information über den
derzeitigen Notenstand in allen Fächern gewünscht. Ich ziehe in Betracht, durch eine
„WebUntis“-Schnittstelle einen Tab für die Abwesenheiten in einem zukünftigen Update
zu implementieren.
Abb. 28: Unkomplizierte Navigation Abb. 29: Nützlicher Inhalt
Tobias Schwap, Applikation für Schülerinnen und Schüler 33
Alle Befragten könnten sich vorstellen, dass diese APP den Schülerinnen und Schülern
des „BORG Straßwalchen“ den Schulalltag erleichtert. Etwas mehr als die Hälfte der User
benutzt die Anwendung mindestens drei Mal pro Woche, gefolgt von 25% der
Anwenderinnen und Anwender, die die „BORG Straßwalchen“ App meist jeden Schultag
benutzen.
Die meisten Nutzerinnen und Nutzer sind der Meinung, dass die Funktionen
selbsterklärend sind und keine weitere Einführung oder Beschreibung, etwa beim
Starten der App, notwendig ist. Außerdem hat sich aus der Umfrage ergeben, dass zwar
nicht jeder die Inhalte der App über die Teilen-Funktion verbreitet, aber diese Funktion
wird von 100% der Befragten als sehr praktisch angesehen, da man unkompliziert seine
Mitschüler über Anstehendes informieren kann.
Tobias Schwap, Applikation für Schülerinnen und Schüler 34
5 Veröffentlichung
Nach Veröffentlichung mit Version 1.0.8, die am 14.12.2015 als erste Version für eine
breitere Masse an Schülerinnen und Schüler zugänglich gemacht wurde, stellte sich die
Frage, wie zufrieden die Nutzer und Nutzerinnen mit der Anwendung sind. Dabei
konzentriert sich der "Fragebogen: Erhebung der Benutzerfreundlichkeit und
Anwendung im Alltag", der sich aus den zwei Teilen Usability , also
Benutzerfreundlichkeit und Nutzungsverhalten und Anwendung im Alltag
zusammensetzt, auf einerseits die Nutzungserfahrungen sowie persönliche Meinungen
zu Design, Funktion und die Verbindung dieser beiden Elemente im ersten Teil und die
eigentliche Anwendung, das Nutzungsverhalten und der Nutzen im Alltag im zweiten.
Durch das Update 1.0.8 wurde im Menü die Schaltfläche "Fragebogen" hinzugefügt, der
auf die letzte Umfrage hinweist. Nach Betätigung dieser Schaltfläche wird ein neues
Fenster aufgerufen, das den in einer WebView eingebetteten Fragebogen darstellt. Auch
die durch den Dienst „goo.gl“ verkürzte URL wird angezeigt und verlinkt auf das
Formular. Wichtig für die Beantwortung des Fragebogens waren genauere Kenntnisse
der App und ausreichend Nutzungszeit beziehungsweise eine längere Nutzungsspanne,
um ein aussagekräftiges Ergebnis zu erzielen.
Bei der Versionierung der einzelnen Versionen wird einem bestimmten Schema
nachgegangen. Die allererste Version V.1.0.0, herausgebracht am 29.01.2015, welche
lediglich das Grundgerüst des Menüs darstellte und die Implementierung der ScrollView
beinhaltete, trägt die Bezeichnung, um alle späteren Versionen logisch der Reihenfolge
nach einordnen zu können. "V." steht dabei für Version, die erste Zahl steht für die
Startzahl der Nummerierung. Alle weiteren Versionen werden an den letzten zwei
Stellen jeweils um eine Ganzzahl erweitert. Somit ist 1.0.0 die allererste Version,
während die darauffolgenden mit 1.0.1, 1.0.2, 1.0.3 usw. fortgesetzt werden. Die von
mir festgelegte Spanne zwischen 1.0.0 und 1.1.0 wird als Beta Version bezeichnet und
stellt die Vorabversion dar. Ab 1.1.0 ist die Vollversion erhältlich und Updates werden
seltener erscheinen und vorrangig zur Fehlerbehebung dienen.
Tobias Schwap, Applikation für Schülerinnen und Schüler 35
5.1 Download Website & Verbreitung
Um eine Android- App zum Download verfügbar zu machen, kann man sie einerseits
über den „Google-Play“ Dienst anbieten, jedoch ist bei der Registrierung als Anbieter
eine Einschreibgebühr von 25 USD zu bezahlen. Als Alternative erfordert die Installation
von Anwendungen unter Android keine autorisierten Dienste, wie dies etwa bei IOS
Geräten der Fall ist, sondern ermöglicht auch eine Installation mittels APK (Android
application package), die man einfach herunterladen kann und somit auf jedem Android
gerät installieren kann. Da mir bereits ein Webspace zur Verfügung stand, entschied ich
mich für letztere Alternative und begann mit der Entwicklung einer Download-Website.
Diese soll einfach aufgebaut sein und nur dazu dienen, das APK herunterzuladen, eine
kurze Einführung in die Funktionen anzuzeigen und aktuelle, sowie vergangene Updates
und Changelogs ansehen zu können. Später sollen die Ergebnisse der Umfragen sowie
die wichtigsten Erkenntnisse dieser Arbeit ebenfalls auf der Website zugänglich sein. Das
Userinterface25 ist dem Design der App nachempfunden und soll einen Bezug zwischen
Anbieterwebsite und dem Erscheinungsbild der App herstellen. Dabei sind sowohl die
Farbschemata, als auch verschiedenste Designelemente wie einheitliche Schriftart,
Größe sowie Farbe für die jeweiligen Darstellungen, Buttons im einheitlichen Aussehen
und Proportionen miteinander verbunden. Die Downloadseite ist in vier
unterschiedliche Regionen unterteilt, die sich durch den Farbton unterscheiden. Dabei
haben alle Felder die gleiche Breite, die auf möglichst vielen Geräten, sowohl Mobil als
auch am Desktop, optimal dargestellt werden kann. Dabei wurde die Entscheidung für
1440 Pixel getroffen, weil der Inhalt der einzelnen Unterkategorien jeweils etwas
eingerückt ist und somit auf eigentlich allen gängigen Geräten ohne weitere Probleme
darstellbar ist. Weist ein Gerät eine größere Breite als 1440 Pixel auf, werden die Ränder
mit demselben Farbton links und rechts vom eigentlichen Inhalt aufgefüllt, um keine
weißen Ränder anzuzeigen. Die Website ist in vier Abschnitte unterteilt, die durch
Farbabstufungen getrennt werden. Das Navigieren erfolgt entweder durch das Scrollen
nach unten oder das Klicken auf die Schaltflächen im ersten Abschnitt. Zuerst werden
25 Benutzeroberfläche
Tobias Schwap, Applikation für Schülerinnen und Schüler 36
die Features der Applikation dargelegt und mittels Organigramm haben die
Besucherinnen und Besucher der Seite den vollen Programmüberblick.
Erstellt wurden die Grafiken großteils mit dem Bildbearbeitungsprogramm GIMP und
die Konzeptualisierung der Website hatte ebenfalls ihre Anfänge als statische Grafik, die
dann später in Form von HTML -Code in Verbindung mit den Skriptsprachen JavaScript
und PHP und der Stylesheet-Sprache CSS mit der Einbindung von Bildelementen zu einer
dynamischen Website modelliert wurde.
Abb. 34: Erstellung eines Grafikkonzeptes der Website in GIMP
Doch nicht nur für den Webauftritt der App wurde gesorgt, auch Plakate und
Nachrichten in sozialen Netzwerken wurden verteilt, die die mögliche Nutzerinnen und
Nutzer über Vorteile der Anwendung informierte. Das Plakat, welches in Abbildung 35
zu sehen ist, verfügt über Informationen der wichtigsten Funktionen der App, einen QR-
Code, den man mit dem Smartphone scannen kann, sowie eine Kurz-URL der Download
Website und einen Screenshot, der einen Einblick in das Menü der Anwendung
ermöglicht. Diese Plakate wurden an gut sichtbaren Stellen im Schulgebäude
ausgehängt und sorgten für einen Besucherzuwachs der Website im Dezember 2015 von
etwa 180 Zugriffen (im Vergleich zum vorherigen Monat).
Tobias Schwap, Applikation für Schülerinnen und Schüler 37
Abb. 35: Plakat, das als Aushang innerhalb des Schulgebäudes diente
Mein Ziel ist es, die Anwendung auch nach Abschluss dieser Arbeit nach Belieben zu
erweitern, um den Schülerinnen und Schülern mehr Möglichkeiten innerhalb der
Anwendung zu bieten und diese stetig zu verbessern. Dabei ist es mir ein Anliegen, auf
die Wünsche und Anliegen der Nutzerinnen und Nutzer einzugehen, die mir unter
anderem durch die Kontaktschaltfläche innerhalb der Anwendung oder die „Fehler
Melden“ Funktion gesendet werden können (Abbildung 36).
Abb. 36: Interne Kontaktfunktion und Formular zur Meldung auftretender Fehler
Tobias Schwap, Applikation für Schülerinnen und Schüler 38
6 Fazit
Die Absicht dieser VWA war es, die Situation des Schulalltags und mögliche
Schwierigkeiten und Probleme sowie die damalige Einbindung der Technik in diesen zu
erheben und mit Hilfe einer Android Applikation für Schülerinnen und Schüler des
„BORG Straßwalchen“ zu erleichtern. Mit Zugriff auf den aktuellen Stundenplan, den
Schularbeiten und Testterminen, Einsicht in die aktuellen Hausaufgaben sowie die
Maturavorbereitung und vieles mehr, soll der Zugang durch das meist ohnehin
verfügbare Smartphone zu diesen Informationen erleichtert werden und den
Schülerinnen und Schülern eine kompakte Plattform bieten, die all diese Funktionen
innerhalb einer übersichtlichen Anwendung ermöglicht. Das Ergebnis dieser Arbeit
stimmt mich sehr zufrieden, denn die App findet nicht nur unter meinen Mitschülern
großen Anklang, sondern die Auswertungen der Fragebögen haben auch ergeben, dass
man sehr wohl mittels Smartphone-Anwendungen den Schülerinnen und Schülern die
Organisation der schulischen Aufgaben und Termine vereinfachen und somit die
Produktivität steigern kann. Mit diesem Projekt konnte ich eigenständig meine
Vermutungen bestätigen, dass eine solche App einen erheblichen Nutzen bieten kann.
Besonders positiv ist dieser bei Usern, die bereits bisher verschiedene
Informationsquellen nutzten und die App als zentrale Anwendung in den schulischen
Tagesablauf integrierten. Meine eigentliche Forschungsfrage, auf welche Weise man
den Schulalltag der Schülerinnen und Schülern erleichtern kann, konnte ich somit
ebenfalls beantworten. Besonders durch den schnellen Zugriff auf einen aktuellen
Stundenplan sowie Stundenplanänderungen, auf wichtige Termine und anstehende
Ereignisse sowie durch den Zugang zu Lernunterlagen und Übungsmaterialien
unterstützt die Anwendung Schülerinnen und Schüler des „BORG Straßwalchen“ bei
ihrer Organisation. Ein Großteil der Nutzerinnen und Nutzer gaben an, dass diese
Applikation einen positiven Einfluss auf die Überschaubarkeit des Schüleralltages hat
und zeigen sich mit dieser Unterstützung sehr zufrieden. Letztlich bedanke ich mich für
den großen Zuspruch von interessierten Lehrerinnen und Lehrern sowie für die
hilfreiche Unterstützung von Direktion, Administration und der Schülervertretung
unserer Schule.
Tobias Schwap, Applikation für Schülerinnen und Schüler 39
7 Abbildungsverzeichnis:
Abb. 1: Verfügbarkeit des Smartphones an Schultagen ................................................... 5
Abb. 2: Benutzung des Smartphones in den Pausen ........................................................ 5
Abb. 3: Verschiedene Android-Versionen von Smartphone-Benutzern am
BORG-Straßwalchen (Stand Juli 2015) ................................................................. 9
Abb. 4: Bildschirmauflösungen von Smartphones der Schüler (Stand Juli 2015) .......... 10
Abb. 5: Bewertung der verschiedenen Funktionen nach ihrer Wichtigkeit ................... 11
Abb. 6: Verschiedene Informationsquellen bezüglich Stundenplan (Stand Juli 2015) .. 12
Abb. 7: Beliebtheit der Vermerkmöglichkeiten (Stand Juli 2015) .................................. 12
Abb. 8: Screenshot Menü (V.1.0.8) ................................................................................. 14
Abb. 9: Ordnerstruktur der App...................................................................................... 18
Abb. 10: Verzeichnis der Quelldateien ........................................................................... 18
Abb. 11: Verzeichnis der Ressourcen ............................................................................. 19
Abb. 12: Verzeichnis der Layout-Dateien ....................................................................... 19
Abb. 13: Ausschnitt eines Buttons in XML-Code ............................................................ 20
Abb. 14: Beispielhafter Auszug von Datensätze in XML ................................................. 21
Abb. 15: Java-Klasse mit Pfad ......................................................................................... 22
Abb. 16: Ausschnitt der MainActivity.Java ..................................................................... 23
Abb. 17: Java-Code, der für die Zuweisung der Schulklasse verantwortlich ist ............. 24
Abb. 18: Programmlogik: Zuweisung des Supplierplans der jeweiligen Schulklasse ..... 25
Tobias Schwap, Applikation für Schülerinnen und Schüler 40
Abb. 19: Java-Methode, die für das Teilen des Supplierplans verantwortlich ist .......... 27
Abb. 20: Screenshot des geteilten Supplierplans per Mail ............................................. 27
Abb. 21: Screenshot des geteilten Supplierplans über WhatsApp ................................ 27
Abb. 22: Java-Code, der die aktuelle Klasse beendet ..................................................... 28
Abb. 23: Java-Code: ruft die richtige Layout-Datei beim Starten auf ............................. 28
Abb. 24: Methode, die den Text in der gewünschten Schriftart anzeigen lässt ............ 29
Abb. 25: Screenshot, Fragebogen im Menü (V.1.0.8)..................................................... 31
Abb. 26: Übersichtlichkeit des Menüs ............................................................................ 31
Abb. 27: Optisch ansprechendes Design ........................................................................ 31
Abb. 28: Unkomplizierte Navigation ............................................................................... 32
Abb. 29: Nützlicher Inhalt ............................................................................................... 32
Abb. 30: Erfahrungen mit ähnlichen Apps ...................................................................... 33
Abb. 31: Regelmäßige Nutzung der App ......................................................................... 33
Abb. 32: Schnelle Navigation .......................................................................................... 33
Abb. 33: Nutzung der Termin-Funktion .......................................................................... 33
Abb. 34: Erstellung eines Grafikkonzeptes der Website in GIMP .................................. 36
Abb. 35: Plakat, das als Aushang innerhalb des Schulgebäudes diente ......................... 37
Abb. 36: Interne Kontaktfunktion und Formular zur Meldung auftretender Fehler ..... 37
Tobias Schwap, Applikation für Schülerinnen und Schüler 41
8 Literaturverzeichnis
Android™. developer.android.com.
http://developer.android.com/guide/practices/screens_support.html (Zugriff
am 25. August 2015).
—. developer.android.com.
http://developer.android.com/reference/android/content/Intent.html (Zugriff
am 2. Februar 2016).
GNU. gnu.org. 29. Juni 2007.
https://www.gnu.org/licenses/gpl-3.0 (Zugriff am 3. Februar 2016).
Költzsch, Tobias. golem.de. 1. August 2014.
http://www.golem.de/news/mobile-betriebssysteme-android-laeuft-auf-fast-
85-prozent-aller-smartphones-1408-108290.html (Zugriff am 23. August 2015).
Künneth, Thomas. Android 4. Apps entwickeln mit dem Android SDK. Bonn: Galileo
Press, 2012.
oracle. www.oracle.com.
http://www.oracle.com/us/corporate/press/executives/016380.htm (Zugriff
am 30. Dezember 2015).
Ullenboom, Christian. Java ist auch eine Insel. Bonn: Galileo Press, 2012.
Universität Bern Informatik. cgg.unibe.ch. 2008.
http://www.cgg.unibe.ch/teaching/previous-courses/hs-08/einfuhrung-in-die-
informatik/pseudocode.pdf (Zugriff am 3. Januar 2016).
Wölbert, Christian. heise.de. 05. August 2015.
http://www.heise.de/newsticker/meldung/Android-Fragmentierung-1300-
Hersteller-24-000-Geraete-2772573.html (Zugriff am 23. August 2015).