user_mobilelogo

Auf dieser Seite sind auf den ersten Blick ausschließlich fotografische Arbeiten ausgestellt. Neben der Fotografie beschäftige ich mich jedoch auch seit vielen Jahren - in letzter Zeit auch bedingt durch mein Studium - mit gewissen Gebieten der Informatik.

Neben der Mitarbeit an div. Webanwendungen in PHP und MySQL liegen meine Schwerpunkte auch in der Android-Entwicklung. Vor noch nicht allzu langer Zeit beschäftigte ich mich mit der Frage, wie ich meine erstellten 360° - Panoramen auch offline auf dem Smartphone oder Tablet betrachten kann.

Das Programm Pano2VR, mit dem ich die Panoramen erstelle, ermöglicht einen Export in ein GGPKG - Archiv. Dabei werden alle benötigten Informationen zur vollständigen Darstellung eines Panoramas in einer einzigen Datei gepackt. Sogar ganze Panoramatouren lassen sich damit abbilden!

Für das Betriebssystem Windows und Mac OS gibt es bereits ein Programm, mit dem diese Dateien auch direkt auf dem PC betrachtet werden können, ohne sie zunächst auf einen Webserver hochzuladen. Nutzer mit einem Android - Gerät gehen bislang allerdings leer aus. Daher machte ich es mir zur Aufgabe, hier zumindest eine kleine Abhilfe zu schaffen: Mit der App GardenGnome Viewer habe ich eine kleine Android - App geschrieben, die dieselben Features auch für Android bietet.

GardenGnome Viewer

Zur Benutzung wird nicht mehr und nicht weniger benötigt, als die installierte App und eine valide GGPKG - Datei. Diese muss mit Pano2VR > Version 5 erzeugt sein, damit GardenGnome Viewer sie richtig öffnen kann.

Da ich die App bisher leider nicht im Google Play Store veröffentlicht habe, muss diese von GitHub herunter geladen werden. Die App ist nun ganz regulär im Google Play Store verfügbar und kann unter folgendem Link installiert werden: https://play.google.com/store/apps/details?id=com.ggnome.viewer&hl=de

 

GardenGnomeViewer 1

GardenGnomeViewer 2

Beim ersten Öffnen der App lädt diese zunächst die Vorschaubilder für die GGPKG - Dateien. Das kann einige Zeit in Anspruch nehmen, je nachdem wie groß die Dateien und wie schnell Ihr Gerät ist. Damit GardenGnome Viewer die Bilder laden kann, müssen Sie der App die Berechtigung zum Lesen der Bilder und Medien auf dem Gerät erteilen.

Nach dem Ladevorgang tippen Sie einfach auf eines der Vorschaubilder, um das Panorama oder die Tour im Viewer zu laden. Fast alle Funktionen aus dem zuvor erstellten Panorama können genutzt werden. Kleine Ausnahme: Die Vollbildansicht. Um diese zu aktivieren tippen Sie auf das kleine Symbol in der rechten oberen Ecke der App.

 

 

 

 

 

 

 

 

 

 

 

Hintergrundinformationen

Für alle, die noch nicht genug haben und mehr über den Aufbau und die Funktion von GardenGnome Viewer wissen möchten, habe ich hier noch einige Hintergrundinformationen zusammengetragen.
Sicher lohnt sich aber auch ein Blick ins GitHub - Repository. (Endlich kann ich mit Fachbegriffen um mich werfen!)

Identifikation der GGPKG - Dateien im Dateisystem

Mir war es besonders wichtig, dass GardenGnome Viewer die entsprechenden GGPKG - Dateien selbstständig im Betriebssystem identifizieren kann. Eine Möglichkeit hierzu wäre ein Hintergrund - Service, der nichts anderes tut, als laufend das Dateisystem des Gerätes zu scannen und die gefundenen Dateien in einen Index aufzunehmen.

Glücklicherweise hat Android hier bereits vorgesorgt: Der Android MediaScanner übernimmt exakt diese Aufgabe. Er scannt bei jeder Änderung, sowie bei bestimmten Geräteaktionen (z.B. beim Start) das Dateisystem und speichert Verweise zu jeder Datei in einer Datenbank ab. Diese Datenbank lässt sich einfach über einen ContentProvider abfragen.

Da Android fast ausschließlich auf Basis von MIME - Types arbeitet, ist das Suchen der Dateien mit dem ContentProvider etwas erschwert, aber nicht unmöglich. Dieser Umstand ist auch dafür verantwortlich, dass ich leider bisher keine Möglichkeit gefunden habe, die Dateien direkt aus einem FileExplorer heraus mit GardenGnome Viewer zu öffnen. Die GGPKG - Dateien haben unter verschiedenen Android - Distributionen leider keinen eindeutigen MIME - Type.

Anzeige der Panoramen

Hier war zugegebenermaßen etwas Reverse - Engineering nötig, wenngleich sich die Sache auch nicht unlösbar gestaltete. Zunächst machte ich mir Gedanken darum, wie ich die enthaltene HTML - Datei anzeigen kann. Android bietet mit seiner WebView für solche Zwecke eine elegante Möglichkeit, bei der das Rad nicht neu erfunden werden muss.

Nur hat diese Sache einen Haken: Standardmäßig werden die Dateien im WebView über das File - Protokoll geöffnet. Leider verhindert das die korrekte Funktion der JavaScript - Dateien und damit des eigentlichen GardenGnome - Players. Zur korrekten Funktion müssen diese Dateien über das HTTP - Protokoll eingebunden werden. So machte ich ich auf die Suche nach einer Komponente, welche einen Webserver innerhalb einer App emulieren kann.

Abhilfe schaffte die neue Version der WebView von Android. Seit der Umstellung der Android Support Library auf AndroidX bietet Android von Haus aus die Möglichkeit, Dateien in der WebView über das HTTP - Protokoll zu laden - Ganz ohne irgendwelche Hackereien oder extrerne Bibliotheken! Verantwortlich hierfür ist die erweiterbare Klasse WebViewAssetLoader, mit deren Hilfe die Dateien ordnungsgemäß geladen werden können.

Hinter der App GardenGnome Viewer steckt also im Grunde nicht viel mehr als eine Art getunter und spezialisierter Webbrowser - Gar nicht schwer also!

Rückmeldungen

Gerne nehme ich natürlich Rückmeldungen, Anregungen oder Kritik entgegen. Am besten geht das über das GitHub - Repository, indem Sie ein Issue anlegen. Oder Sie hinterlassen mir hier einfach einen Kommentar.

Hinter der Kamera

Ich beschäftige mich etwa seit dem Jahr 2013 mit der Fotografie und nutze sie als Ausgleich zu Studium und Arbeit.

Alles begann in einer verlassenen Tonwarenfabrik in der Nähe meine Heimatstadt Pforzheim. Der Verfall zog mich förmlich in seinen Bann. Inzwischen zählen die Architektur- und Landschaftsfotografie, sowie die Aufnahme und Erstellung von virtuellen Panoramatouren zu meinen Schwerpunkten.

profile-1.jpg

Kontakt

Am Breitenstein 41, 75228 Ispringen

mail@sebastian-knopf.de

 

Jetzt Kontakt Aufnehmen

Diese Webseite verwendet ausschließlich Cookies, die zur Funktion erforderlich sind. Durch die Nutzung der Webseite erklären Sie sich hiermit einverstanden.
OK