Mobile Applications

Diesmal ging es um die Entwicklung mobiler Applikationen, oder auch Mobile Apps genannt. In diesem Zusammenhang wurden unterschiedliche mobile Betriebssysteme wie z.B. iOS, Android, Ubuntu Mobile, Windows Mobile usw. besprochen, wobei das Hauptaugenmerk definitiv bei Android von Google lag. Viele verschiedene SDKs (Software Development Kits) bringen zwar auf der einen Seite eine große Vielfalt, haben aber auf der anderen Seite den Nachteil, dass für jedes Betriebssystem eine eigene Programmiersprache gelernt werden muss. Aufgrund des beträchtlichen Marktanteils von Android-Geräten sowie der vereinfachten Emulation auf dem Computer und der Ähnlichkeit zu Java, wurde das Betriebssystem Android als Entwicklungsgrundlage ausgewählt. Als Entwicklungsumgebung wurde der App Inventor des MIT eingesetzt, welcher sehr einfach in der Handhabung ist, den Codeaufwand durch vorgefertigte Eventhandler auf ein absolutes Minimum reduziert und somit ideal für Anfänger geeignet ist. Nach der Einrichtung des Emulators am Computer und der Anmeldung mit einem aktiven Google-Konto, konnte auch schon das erste Projekt im App Inventor umgesetzt werden. Neben der Erstellung einer einfachen Webanwendung, wurde gleichzeitig die Programmoberfläche des App Inventor erklärt und der Unterschied zwischen der Design- und Blockebene herausgearbeitet. Im Anschluss daran wurde, um den Umgang mit der Entwicklungsumgebung weiter zu trainieren, eine App zum Freihandzeichnen entwickelt. Hier konnten bereits die ersten Variablen initialisiert und die ersten vorgefertigten Eventhandler des App Inventor angewendet werden. Nach einer weiteren Tutorial App, bei der ein mathematischer Rechner (Addition, Subtraktion, Multiplikation, Division) entwickelt werden musste, war es an der Zeit eine eigene kleine App zu programmieren und diese im Anschluss am eigenen Smartphone bzw. im Emulator zu kompilieren. Um die Arbeit mit Datenbanken, welche absolut essentiell in der mobilen Appentwicklung ist, besser veranschaulichen zu können, wurde abschließend noch die App zum Freihandzeichnen um einige Funktionen erweitert und ein eigener Chatroom programmiert, mit dem es möglich ist, Instant-Messages innerhalb einer eigenen privaten Cloudinstanz zu verschicken. Schlussendlich musste noch eine kollaborative Projekt-App in Form einer Gruppenarbeit konzipiert und programmiert werden. Danach wurden abschließend wieder alle Projekte präsentiert und die Quellcodes der Projektdateien vorgestellt.


Kompetenzen

  1. Ich kenne diverse mobile Betriebssysteme und weiß was ein Software Development Kit (SDK) ist.
  2. Ich kenne den MIT App Inventor und kann den Emulator bzw. die AI2 Companion App nutzen.
  3. Ich verstehe den Unterschied zwischen der Design- und Blockebene und kann beide verwenden.
  4. Ich kann funktionelle mobile Applikationen im App Inventor konzipieren und entwickeln.
  5. Ich weiß was ein Event ist und inwiefern diese in sogenannten Eventhandlern aufgerufen werden.
  6. Ich verstehe wie man Variablen initialisiert und kann globale Variablen definieren.
  7. Ich weiß wie man Kontrollstrukturen innerhalb des App Inventors umsetzt und programmiert.
  8. Ich weiß wie man mehrere Screens im App Inventor erstellt und kann diese im Code initialisieren.
  9. Ich kenne das Informatik Fachkonzept von Listen und weiß wie Werte darin indexiert werden.
  10. Ich verstehe wie Datenbanken in Cloudsystemen arbeiten und kann solche in einer App einbauen.
  11. Ich weiß wie man Daten aus einer Datenbank im App Inventor ausliest und Werte darin speichert.
  12. Ich kann kollaborativ an einem Projekt mitwirken, dieses durchplanen und Arbeiten fair verteilen.


Unterrichtsmaterialien