Entwicklung und Erstellung einer Android-Applikation …tobias-schwap.at/misc/Vwa/Entwicklung und...

41
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

Transcript of Entwicklung und Erstellung einer Android-Applikation …tobias-schwap.at/misc/Vwa/Entwicklung und...

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).