Erlaubt einen einfachen Zugriff auf viele Features der GesaHu Webseite.
Da mein Schulabschluss mittlerweile einige Jahre her ist, beschränkt sich meine Arbeit an der App weitesgehend auf Bugfixes. Zusätzlich dazu gibt es auch noch immer (trotz zahlreicher Sanitizer) Probleme mit malformatted JSON von der REST API, die allerdings außerhalb meiner Kontrolle sind. Testen der App ist ebenfalls schwierig geworden, da ich kein Schülerkonto mehr habe und die REST API nicht mit Absolventenkonten funktioniert (liefert einen PHP Fehler).
Zeigt den Vertretungsplan in einer übersichtlichen Liste und hebt relevante Stunden hervor.
Optional kann die App täglich zu einer einstellbaren Uhrzeit oder nach jeder Stunde bei Vertretungsstunden benachrichtigen. Dazu wird ein Alarm erstellt, der zur angegebenen Zeit einen Broadcast Receiver ausführt.
Schreibt relevante Schultermine wie Klausuren und Prüfungen automatisch in den Gerätekalender. Implementiert als SyncAdapter
Zeigt Stunden und Noten eines Kursboards an.
Die App ist überwiegend in Kotlin geschrieben und auf dem Model-View-Presenter Entwurfsmuster aufgebaut. Verwendete Libraries:
- Room & LiveData für die Datenbank
- Dagger 2 für Dependency Injection
- OkHttp & Retrofit für die GET API
- Android KTX & Anko für nützliche Android Hilfsfunktionen in Kotlin
- Android Support Libraries
- Joda-Time für immutable Datums- und Zeitklassen in Java 7
- LeakCanary um Memory Leaks zu erkennen
- ErrorView falls eine Liste leer ist
- AboutLibraries für eine Übersicht der verwendeten Libraries und derer Lizensen
- AppIntro für die Einleitung beim ersten Start