Android-App

Hier findest Du Informationen, falls Du an der (Weiter-)Entwicklung der LMU-Raumfinder Android-App interessiert bist.

Ursprung

Die ursprüngliche Version der Android-App wurde im Rahmen des Praktikums Mobile Und Verteilte Systeme im Wintersemester 2013/14 entwickelt. Diese enthielt noch mehr Features als die aktuelle App (z.B. Indoor-Routing und Indoor Localization via WLAN-Fingerprinting), welche jedoch vorläufig entfernt wurden, da es sich mehr um "Proof-of-Concept"-Implementierungen handelte. Der Code aus dem damaligen Praktikum lässt sich noch hier einsehen (ein Account bei Gitlab wird benötigt).

Nach dem Praktikum wurde der Code komplett neu geschrieben und nur noch die Kernfunktionalitäten implementiert. Ziel war es, die App für alle Studenten zu veröffentlichen und Interessierten die Weiterentwicklung zu ermöglichen.

Repository

Der Code befindet sich, wie der Rest des Projekts, auf GitHub: https://github.com/lmu-navigator/android

Möchtest Du etwas zum Projekt beitragen, so sind Pull Requests jederzeit willkommen. Falls Du Interesse hast, mittel- oder längerfristig an dem Projekt zu arbeiten, statten wir Dich natürlich gerne mit allen Schreib- und Leserechten für das Repository aus. Bitte melde Dich bei uns! TODO: Kontakt!

Setup/Installation

Es werden das Android-SDK und Android Studio benötigt. Informationen zur Installation findest Du auf der offiziellen Android-Developer Webseite.

Lade zunächst den Code herunter, z.B. via git-clone auf der Kommandozeile: git clone git@github.com:lmu-navigator/android.git

Android Studio

Importiere das Projekt in Android-Studio:

  1. Starte Android-Studio und wähle Open an existing Android Studio project
  2. In der folgenden Pfadauswahl wähle das Projekt-Root-Verzeichnis (android/) aus
  3. Folge allen eventuellen Anweisungen, die Standardeinstellungen können i.d.R. alle beibehalten werden

Kommandozeile

Die App lässt sich auch über die Kommandozeile bauen (aus dem Root-Verzeichnis): ./gradlew assemble

Die fertige .apk-Datei befindet sich anschließend im Ordner app/build/outputs/apk/ und lässt sich beispielsweise via adb installieren.

Google API Key

Damit die Google Maps Karte in der App angezeigt wird, muss jeder Entwickler sein Debug-Zertifikat in der Google-API-Konsole eintragen. Wir nutzen dafür immer noch den alten Praktikumsaccount, dies könnte sich jedoch in Zukunft ändern. Melde Dich bei uns und wir fügen Dein Zertifikat hinzu!

Code Dokumentation

Der Code ist derzeit nur wenig dokumentiert. Wer jedoch mit Android-Entwicklung vertraut ist, sollte sich schnell zurecht finden können.

Das Datenmodell ist in der Server-Dokumentation beschrieben.

App Design

Das User Interface der App orientiert sich an den Material Design Guidelines.

3rd-Party Libraries

Folgende Open-Source-Bibliotheken werden verwendet und sind größtenteils gut dokumentiert:

Wichtig: Die Lizenzen zu allen Open-Source-Bibliotheken müssen in der App aufgeführt werden!

Bug Tracker

Bugs oder Feature Requests können auf GitHub gemeldet werden.

Future Work

Zusätzliche Features könnten sein:

  • Informationen zur Barrierefreiheit der Gebäude
  • Integration von "Points of Interests" wie Mensen, Bibliotheken, Toiletten, etc.
  • Mehr Kontextinformationen zu Gebäuden und Räumen, z.B. ansässige Institute, Raumbelegung, etc.
  • Indoor-Routing
  • Indoor-Positionierung, z.B. mit WLAN-Fingerprinting