Mängelmeldungen schneller absenden, damit die glücklichsten Großstädter noch glücklicher werden.
Find a file
2026-06-10 20:40:29 +02:00
android-app Fix Horizontales Foto Bug 2026-06-10 20:40:29 +02:00
gradle init 2026-06-10 20:22:49 +02:00
.gitignore init 2026-06-10 20:22:49 +02:00
build.gradle init 2026-06-10 20:22:49 +02:00
gradle.properties init 2026-06-10 20:22:49 +02:00
gradlew init 2026-06-10 20:22:49 +02:00
gradlew.bat init 2026-06-10 20:22:49 +02:00
README.md Readme, UI Optimierung, Prompt Wirklich senden? 2026-06-10 20:37:12 +02:00
settings.gradle init 2026-06-10 20:22:49 +02:00

Mängelmelder Erfurt Android

Native Android-App für den Mängelmelder der Landeshauptstadt Erfurt:

https://maengelmelder.erfurt.de/

Die App nutzt die vorhandenen FixMyStreet-Endpunkte der Website und sendet Meldungen als nicht eingeloggter Nutzer. Nach dem Absenden läuft der normale Bestätigungsprozess der Website per E-Mail.

Funktionen

  • neue Mängelmeldung mit Titel, Beschreibung und Kategorie
  • automatische Standortermittlung über Android LocationManager
  • Kategorieabfrage passend zur aktuellen Position
  • Fotoaufnahme per Kamera und Upload als Multipart-Feld photo1
  • Einstellungen für dauerhaft hinterlegten Namen und E-Mailadresse
  • Option, ob der Name öffentlich angezeigt werden darf

Projektstruktur

.
├── android-app/
│   ├── README.md
│   └── app/
│       ├── build.gradle
│       └── src/main/
├── build.gradle
├── gradle.properties
├── gradle/
├── gradlew
├── gradlew.bat
└── settings.gradle

Das Gradle-Modul heißt :app; sein Projektverzeichnis ist android-app/app.

Voraussetzungen

  • JDK 17
  • Android SDK mit Compile SDK 36
  • Internetzugriff für Gradle-Abhängigkeiten, falls sie noch nicht lokal im Cache liegen
  • Android-Gerät oder Emulator zum Installieren/Testen

Build

Debug-APK bauen:

./gradlew :app:assembleDebug

Das APK liegt danach unter:

android-app/app/build/outputs/apk/debug/app-debug.apk

Installation auf einem angeschlossenen Gerät:

adb install -r android-app/app/build/outputs/apk/debug/app-debug.apk

Tests und Checks

Kompilierung prüfen:

./gradlew :app:compileDebugJavaWithJavac

Lint ausführen:

./gradlew :app:lintDebug

Endpunkte

Die App spricht aktuell direkt https://maengelmelder.erfurt.de an.

  • Kategorien: GET /report/new/ajax?latitude=...&longitude=...
  • Meldung senden: POST /report/new/mobile

Die Basis-URL ist in MaengelmelderApi.java als Konstante hinterlegt.

Datenschutz und lokale Daten

Name und E-Mailadresse werden lokal in SharedPreferences gespeichert, damit sie nicht bei jeder Meldung neu eingegeben werden müssen. Diese Werte sind funktionale Nutzereinstellungen und keine im Repository enthaltenen Zugangsdaten.

Fotos werden vor dem Versand im privaten App-Dateibereich abgelegt. Die App enthält keine API-Keys, Keystores, Passwörter oder Tokens.

Git-Hygiene

Die .gitignore schließt lokale und generierte Dateien aus, insbesondere:

  • .gradle/
  • **/build/
  • local.properties
  • Android-Studio-Dateien
  • APK/AAB-Artefakte
  • lokale Codex/Agent-Metadaten