Erik Barz
6. November 2014

Lifecycle einer Google Glass App

Google Glass mit Rahmen

In diesem Blog wollen wir uns mit den theoretischen Grundlagen einer Google Glass - oder vielmehr einer Android App (dazu später mehr) beschäftigen, speziell mit dem Lifecycle einer solchen.

Für die Entwicklung ist es fundamental wichtig die im folgenden umrissenen Zusammenhänge zu verstehen, um die bestmögliche User-Experience zu schaffen.

Unser E-Book zur SAP User Experience

E-Book: SAP User Experience (SAP UX)

Überblick zu aktuellen SAP Oberflächen­technologien & erste Entscheidungsgrundlage auf dem Weg zu Ihrer Usability-Strategie.

Was genau ist denn überhaupt ein Lifecycle?

Der Lifecycle einer App besteht im wesentlichen aus verschiedenen Zuständen, in denen sie sich befinden kann. Ist die App im Vordergrund, ist das ein Zustand, ebenso wenn sie sich im Hintergrund befindet und darauf wartet aufgerufen zu werden. Selbst das Drehen des Bildschirms kann eine Zustandsänderung herbeirufen. Das Android SDK stellt Funktionen bereit, mit diesen Zustandsänderungen umzugehen. Betrachten wir ein kleines Beispiel aus der Smartphone-Welt:

Der Nutzer verfasst eine neue Nachricht. Ihm fällt ein, dass er währenddessen gerne Musik hören würde, und öffnet kurz seinen Musikplayer um ein Lied auszuwählen. Er wechselt nun zurück zu seiner Nachrichten App, vervollständigt den angefangenen Text und schickt die Nachricht ab.
Hier finden verschiedene Zustandsübergänge statt, um die sich die Apps kümmern müssen. Ohne gesonderte Behandlung würde der Musikplayer keinen Ton mehr von sich geben, sobald die App in den Hintergrund gerät. Die halbfertige Nachricht wäre nach dem Wechseln der Apps auch verloren, sowie der beabsichtigte Empfänger. Kurz: Alle getätigten Eingaben müssen zustandsübergreifend gespeichert werden, um dem Nutzer einen nahtlosen Wechsel zwischen Apps und eine intuitive User-Experience ermöglichen zu können. Dieses Prinzip ist auf der Glass genauso wichtig.

Unser E-Book zum Thema Mehr Durchblick dank Datenbrille? Datenbrillen in der Industrie

Datenbrillen in der Industrie [E-Book]

Momentan boomt der Markt für Wearable Computing. Sie erleichtern Mitarbeitern Arbeitsabläufe, durch die Konzepte der Virtual, Augmented und Mixed Reality.

Der Lifecycle

Da auf der Google Glass ein speziell angepasstes Android 4.4 läuft, ähneln sich die architektonischen Prinzipien. Das betrifft auch den Lifecycle. Einstiegspunkt einer jeden App ist die onCreate() Methode. Hier sollte die Initialisierung von benötigten Komponenten stattfinden. Auf der Glass ist das zum Beispiel der Gesture Detector, der zum erkennen von Gesten auf dem Touchpad verwendet wird, oder etwa der Controller, wenn eine MVC-Architektur zum Einsatz kommen soll. Hier werden außerdem Features angefordert, was mit sogenannten Flags geschieht. Die Zeile getWindow().requestFeature(WindowUtils.FEATURE_VOICE_COMMANDS); erlaubt beispielsweise die Verwendung von Sprachbefehlen zum steuern der App.

Unser Whitepaper zum App Lifecycle Service

Whitepaper: App Lifecycle Service

Keine Angst vor Updates mehr! Mit unserem Life-Cycle-Service können Sie Aktualisierungen durchführen, ohne sich Sorgen zu machen!

Außerdem sehr wichtig sind die Methoden onPause() und onResume(), beziehungsweise onStop() und onRestart(). Letztgenannte würden für das oben beschriebene Szenario verwendet werden, weil der Musikplayer vermutlich den ganzen Bildschirm belegt und die Nachrichten App somit komplett in den Hintergrund gerät. Google hat vorgesehen, dass Apps die nicht sichtbar sind, angehalten werden, um Ressourcen zu schonen.

Die weiteren Methoden werden erst bei komplexeren Apps relevant. onDestroy() wird verwendet, um eventuelle Netzwerkverbindungen oder asynchrone Tasks mit der eigentlichen App zu beenden.

Android Activity Lifecycle

Rücknavigation

Nicht vernachlässigt werden sollte außerdem das Verhalten der App während der Benutzung. Vorgesehen hat Google, dass auf der Glass eine Wischgeste auf dem Touchpad nach unten eine Rücknavigation bedeuten sollte, d.h. die vorherige Activity wieder aufgerufen wird. Diese Funktionalität wird durch einen in Android implementierten Activity Stack bereitgestellt. Manchmal kann es für die User-Experience jedoch wichtig sein, diesen Stack zu manipulieren. Sollte innerhalb bestimmter Activities Ihrer App, zum Beispiel während einer Zahlungsabwicklung, nicht einfach zurück gesprungen werden können, kann diese Activity von den Stackoperationen ausgenommen werden. Hierzu ist das Setzen des android:noHistory Tags im Manifest nötig. Im Falle der mmLogistics App wäre es schlecht, wenn während eines Auftrages ohne weitere Nachfrage zurück in das Auftragsmenü gewechselt werden könnte, etwa durch unbeabsichtigtes Berühren des Touchpad. Deshalb haben wir das Verhalten der Wischgeste im Gesture Detector manipuliert, in dem eine zusätzliche Abfrage eingebaut wurde. Hier gibt es auch einen Unterschied zur klassischen Android Programmierung: Dort gibt es eine Methode onBackPressed(), die sich um das Verhalten, dass durch das Auslösen des Back Buttons hervorgerufen wird, kümmert.

Zusammenfassung

In die Überlegungen zum Flow und User-Experience einer Google Glass App sollten immer der Lifecycle im Auge behalten werden. Dieser ist für das zukünftige Verhalten der App, und somit für die Akzeptanz durch Ihre Kunden, von großer Bedeutung. Ziel sollte nicht sein, eine Smartphone App auf Google Glass zu portieren. Viel mehr ist es wichtig, den Umständen der Glass gerecht zu werden und viel Wert auf eine intuitive Bedienung zu legen. Die Mittel, um das zu erreichen, haben Sie nun kennengelernt.

Erik Barz

Erik Barz

Meine Schwerpunktthemen im mobilen Umfeld: Im mobilen Umfeld beschäftige ich mich hauptsächlich mit dem „Neptune Framework“, HTML5, SAPUI5, JavaScript und jQuery. Weiterhin begeistere ich mich für native Apps in Java (Android) und C# (Windows Phone). Fachlich liegt mein Schwerpunkt auf Apps für die SAP-Logistik in WM und LE. Gerne stelle ich mich jedoch auch neuen Herausforderungen im mobilen Umfeld. weitere Schwerpunktthemen im SAP Umfeld: Neben der Entwicklung von mobilen Anwendungen liegen meine Schwerpunkte in der Entwicklung von individuellen Web-Anwendungen mittels Webdynpro und der Anwendungsintegration mittels SAP Portal.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

Auch wenn Google Glass auf Android basiert, sind einige Dinge beim Entwickeln für Google Glass zu beachten, nicht alles kann von der klassischen Android-Programmierung übernommen werden, auch wenn vieles ähnlich […]

weiterlesen

Seit nun fast 2 Jahren beschäftigen wir uns auch mit dem Thema Datenbrillen für die SAP Logistik - insbesondere mit Googles Datenbrille "Google Glass". In diesem Blog werde ich die […]

weiterlesen

Fiori ist das führende Design für alle SAP Applikationen. Dieses Design entwickelt sich über die Zeit, um eine harmonische User Experience für SAPs cloud- und on-premise Lösungen zu erreichen. Mit […]

weiterlesen

Ein Kommentar zu "Lifecycle einer Google Glass App"

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Sophie Weber
Sophie Weber Kundenservice