c't 9/2018
S. 180
Know-how
Android-Views programmieren
Aufmacherbild

App-Sichten

Eigene Bedienelemente für Android-Apps programmieren

Von Android-Apps erwartet man ein so intuitives Interface, dass man keine Anleitung braucht, um es zu benutzen. Die in Android integrierten Bedienelemente reichen dafür nicht immer aus. Wir zeigen am Beispiel eines Auswahlfelds für die Stärke eines zufällig erzeugten Passworts, wie Sie eigene Bedienelemente programmieren und was Sie dabei beachten sollten.

Lange Passwörter mit vielen Sonderzeichen sind sehr sicher; kurze Passwörter aus wenigen Zeichen wie eine vierstellige PIN ziemlich unsicher. Das weiß jeder. Aber wie sicher sind Passwörter mittlerer Länge, in denen nur Buchstaben und Ziffern vorkommen? Ab welcher Länge ist auch ein Passwort nur aus Kleinbuchstaben im grünen Bereich? Beim Bedienen einer Passwortmanager-App stellen sich dem Android-Nutzer solche Fragen – und er erwartet, dass das Interface ihm die richtige Antwort gibt. Dafür reichen die Bedienelemente, die Android von Haus aus mitbringt, oft nicht aus, sodass man eigene programmieren muss. Viele GUI-Toolkits nennen solche Bedienelemente Widgets, Android nennt sie Views.

Wir zeigen am Beispiel einer View zum Auswählen der Stärke generierter Passwörter, wie Sie eigene Bedienelemente schreiben und in eine App einbauen. Das Beispiel entstand als Teil von c’t-SESAM, unserem Passwort-Manager und Generator [1, 2]. Der „Smart-Selector“ unseres Beispiels besteht aus einem rechteckigen Feld, unterteilt in 7 Zeilen und 28 Spalten. Die Zeilen stehen jeweils für einen Satz an Zeichen, die im Passwort vorkommen können. In der untersten Zeile nur Ziffern, in der Zeile darüber nur Kleinbuchstaben, darüber Kleinbuchstaben und Ziffern und so weiter. Die oberste Zeile steht für Passwörter mit Ziffern, Buchstaben und Sonderzeichen. Die Spalten stehen für die Passwortlänge von 4 bis 32 Zeichen. Tippt man mit dem Finger auf eines dieser Felder, wählt man gleichzeitig den Zeichenvorrat und die Länge des Passworts aus.