QR-Code Scanner auf Google Glass implementieren
Elementarer Bestandteil der mmLogigstics-App für Google Glass ist ein QR-Code Scanner.
Dieser Blog soll Ihnen verschiedene Möglichkeiten zur Verwendung eines QR-Code Scanners auf der Google Glass näherbringen. Die Wahl des Plugins, sowie die Art der Interation hängen von Ihrem Anwendungsszenario ab.
Die richtige Wahl treffen
Sollte es Ihnen genügen, QR-Codes zu scannen und deren Inhalt direkt ablesen zu können, wird Ihnen die speziell für die Glass angepasste App BarcodeEye genügen. Wesentlich flexibler ist hingegen die Integration eines Scanner in Ihre eigene App. Prinzipiell gibt es zwei Arten der Integration. Es kann entweder eine Bibliothek eingebunden werden, was zu nahtloseren Übergängen führt aber eine Reihe an Nachteilen mit sich bringt, wie etwa eine komplexere Integration sowie mangelnde Updatemöglichkeiten. Deshalb behandeln wir hier nur die von den Entwicklern empfohlene Methode, die Installation einer eigenständigen App. Wir empfehlen Ihnen die Verwendung der BSGlass-App, da sich es hierbei um eine angepasste Version der sehr populären ZXing-App für Smartphones handelt. Diese lässt sich im Gegenteil zu BarcodeEye auch mittels Intents aus der eigenen App starten.
Integration via Bibliothek | Integration mit seperater App | |
---|---|---|
Vorteile | + Nahtlosere Einbindung in die eigene App | + Update via Glass Systemfunktionen+ Einfaches Austauschen der verwendeten App |
Nachteile | – Aufwändiger- Keine einfache Updatemöglichkeit | – Touch-Eingabe zum Starten der App notwendig |
Integration der BSGlass-App
Das Aufrufen einer zweiten App ist denkbar einfach: Statt wie üblich die Funktion startActivity() zu verwenden, kommt nun startActivityForResult() zum Einsatz. Diese bewirkt, dass die aufrufende App das Ergebnis der aufgerufenen App entgegen nehmen kann. Dieses Ergebnis wird in der Methode onActivityResult(), verpackt in ein Intent, entgegengenommen. Nun können, wie bei der klassischen Android-Programmierung, Variablen mittels intent.getExtra() extrahiert und ausgewertet werden.