LaufBuddy: Projekt & Technik
Native Android-Funktionen. Verbundene Laufmodi. Praxisnahe Entwicklung.
Das Projekt LaufBuddy für Android: Einblick in React Native, TypeScript, Kotlin, GPS-Aufzeichnung, BLE-Sensorik und die lokale Spracherkennung mit Vosk.
LaufBuddy ist eine eigenständig entwickelte Android-Lauf-App.
Das Projekt verbindet klassische Mobile-App-Entwicklung mit systemnahen Android-Funktionen:
GPS-Aufzeichnung, Hintergrundprozesse, Live-Datenübertragung, Sprachfunktionen,
Bluetooth-Sensorik und die Kommunikation zwischen React Native und nativen Kotlin-Modulen.
Was LaufBuddy praktisch umsetzt
Die App begleitet einen gestarteten Lauf nicht nur auf dem sichtbaren Bildschirm.
Viele Funktionen müssen auch dann zuverlässig weiterarbeiten, wenn LaufBuddy minimiert
oder das Display gesperrt ist.
GPS · BACKGROUND LOCATION
Lauftracking
Route, Distanz, Pace und weitere Laufdaten werden aufgezeichnet. Die Aufzeichnung
ist auch für den laufenden Hintergrundbetrieb ausgelegt.
LIVE DATA · NETWORKING
LiveBuddy
Ein gewählter Buddy kann einen aktiven Lauf über einen Browser-Link begleiten
und den aktuellen Laufstand sehen.
VOSK · AUDIO
BuddyWord
Sprachbefehle werden mit Vosk direkt auf dem Android-Gerät erkannt und in den
laufenden App-Ablauf eingebunden.
BLE · SENSORIK
Herzfrequenzsensoren
Bluetooth-Low-Energy-Herzfrequenzsensoren können mit LaufBuddy verbunden und
in den Laufkontext integriert werden.
Technologien im Projekt
FRONTEND & APP-LOGIK
React Native · TypeScript · Expo
Benutzeroberfläche, App-Zustände und ein großer Teil der LaufBuddy-Logik werden
mit React Native und TypeScript umgesetzt und mit Expo-Modulen verbunden.
NATIVE ANDROID
Kotlin
Für systemnahe und zeitkritische Funktionen wurden eigene native Android-Module
entwickelt und über die React-Native-Brücke mit der App verbunden.
ANDROID LIFECYCLE
Foreground & Background Services
Ein Schwerpunkt ist das zuverlässige Verhalten bei gesperrtem Display,
minimierter App und den Energiesparmechanismen moderner Android-Geräte.
BUILD & DEBUGGING
Gradle · ADB · reale Geräte
Release-Builds, Installation, Log-Auswertung und Fehlersuche werden auf realer
Android-Hardware durchgeführt und nicht nur im Emulator betrachtet.
Ein Beispiel für systemnahe Fehlersuche
Bei LiveBuddy musste die Datenübertragung auch bei gesperrtem Display zuverlässig
funktionieren. Dafür wurde das Verhalten über JavaScript, Hintergrundaufgaben,
Netzwerkaufrufe und Android-Energieverwaltung hinweg untersucht. Der kritische
Übertragungsweg wurde schließlich durch eine native Kotlin-Komponente ergänzt.
Solche Aufgaben zeigen einen wichtigen Teil des Projekts: Fehler werden nicht nur
dort behandelt, wo sie sichtbar werden, sondern über mehrere technische Ebenen bis
zur eigentlichen Ursache verfolgt.
Was dieses Projekt als Arbeitsprobe zeigt
- Entwicklung einer umfangreichen mobilen Anwendung mit React Native und TypeScript
- Integration eigener nativer Android-Komponenten in Kotlin
- Umgang mit GPS, Hintergrundausführung und Android-Lifecycle
- Bluetooth-Low-Energy-Sensorik und Audio-/Sprachfunktionen
- API- und Live-Datenkommunikation
- Android-Berechtigungen und verständliche Nutzerführung
- Fehlersuche mit ADB, Logs, Gradle und realer Gerätehardware
- Vorbereitung von Release-Builds und Google-Play-Veröffentlichung
Berechtigungen & transparente Datennutzung
LaufBuddy verwendet mehrere Android-Funktionen, die für Lauftracking,
Hintergrundbetrieb und Buddy-Funktionen notwendig sind. Die App erklärt sensible
Freigaben vor der jeweiligen Android-Berechtigungsabfrage.
Standort während der Nutzung
LaufBuddy benötigt den Standort, um bei einem gestarteten Lauf Strecke, Distanz und Tempo aufzuzeichnen.
Genauer Standort
Der genaue Standort verbessert die Genauigkeit von Strecke, Distanz und Tempo.
Standort im Hintergrund
LaufBuddy erhebt Standortdaten, damit ein gestarteter Lauf weiter aufgezeichnet wird,
wenn die App minimiert ist oder der Bildschirm gesperrt ist. Wenn LiveBuddy aktiviert ist,
kann der aktuelle Laufstand während des laufenden Laufs für den gewählten Buddy bereitgestellt werden.
Standortdienste / GPS
Die Android-Standortdienste sind eine allgemeine Systemeinstellung des Telefons und
keine zusätzliche LaufBuddy-Berechtigung. Dazu gehören GPS und – je nach Gerät –
weitere Verfahren zur Standortbestimmung.
Mikrofon
LaufBuddy nutzt das Mikrofon für Sprachfunktionen während des Laufs.
Gesprochene Befehle werden für die Vosk-Spracherkennung direkt auf dem Gerät verarbeitet.
Aktivitätserkennung
LaufBuddy nutzt Bewegungsinformationen für die automatische Pause während eines Laufs.
Benachrichtigungen
LaufBuddy benötigt Benachrichtigungen, damit ein laufender Lauf auch im Hintergrund zuverlässig ausgeführt werden kann.
Telefon
LaufBuddy nutzt Telefonberechtigungen, um den gewählten Buddy direkt anzurufen und zu prüfen, ob Mobilfunk verfügbar ist.
Kontakte
LaufBuddy benötigt Zugriff auf Kontakte, damit ein Buddy ausgewählt werden kann.
Dafür werden Namen und Telefonnummern aus den Kontakten gelesen.
Akku-Optimierung
Damit LaufBuddy bei einem gestarteten Lauf auch bei gesperrtem Bildschirm zuverlässig
funktioniert, kann eine Einschränkung durch die Android-Akku-Optimierung vermieden werden.
Ausführliche Informationen zur Verarbeitung personenbezogener Daten stehen in der
Datenschutzerklärung.
Ein Lauf aus technischer Sicht – fünf Schritte
- Der Nutzer wählt einen Laufmodus und die passende Buddy-Begleitung.
- Die App berücksichtigt die für diesen Modus benötigten Android-Berechtigungen.
- GPS-Aufzeichnung und benötigte Hintergrundfunktionen werden im laufenden App-Kontext ausgeführt.
- Je nach Modus kommen Live-Daten, Sprache, Telefonfunktionen oder BLE-Sensorik hinzu.
- Der Lauf wird beendet; Laufdaten stehen für die vorgesehene Auswertung und gegebenenfalls Synchronisierung bereit.
Konkrete technische Einsatzfälle
- Hintergrund-GPS: Eine begonnene Aufzeichnung wird auch bei minimierter App oder gesperrtem Display berücksichtigt.
- LiveBuddy bei ausgeschaltetem Display: Die bestehende technische Beschreibung zeigt die Fehlersuche bis zu einer ergänzenden nativen Kotlin-Komponente.
- Spracherkennung und Sensorik: Lokale Vosk-Erkennung und BLE-Herzfrequenzsensoren werden in den Laufkontext integriert.
Daten und Berechtigungen verstehen
Die Vosk-Spracherkennung läuft lokal auf dem Android-Gerät. Für Anmeldung und Teile der Online-Funktionen verwendet LaufBuddy Firebase-/Google-Dienste. Die nachfolgenden Berechtigungsbeschreibungen und die Datenschutzerklärung erläutern, welche Daten die jeweiligen Funktionen benötigen.
Details findest du in der Datenschutzerklärung von LaufBuddy und unter Android-Berechtigungen und Datennutzung.
Häufige Fragen zu Projekt und Technik
Welche Technologien verwendet LaufBuddy?
Die App verbindet React Native, TypeScript und Expo mit eigenen nativen Android-Modulen in Kotlin. Dazu kommen unter anderem GPS, BLE-Sensorik und Vosk-Spracherkennung.
Warum nutzt LaufBuddy eigene Kotlin-Module?
Systemnahe und zeitkritische Android-Funktionen benötigen eine native Anbindung. Ein beschriebenes Beispiel ist die Ergänzung des LiveBuddy-Übertragungswegs für den Betrieb bei gesperrtem Display.
Wie wird die App getestet?
Die technische Arbeitsprobe beschreibt Release-Builds, Installation, Log-Auswertung und Fehlersuche mit ADB und Gradle auf realer Android-Hardware.
Ist die App bereits allgemein veröffentlicht?
LaufBuddy befindet sich aktuell in der Testphase im Google Play Store. Die technische Seite zeigt den Projektstand und die umgesetzten Entwicklungsbereiche.
Android-Test: 1. Testgruppe beitreten → 2. Im Play Store testen.
Weitere Funktionen und Hintergründe
Über das technische Projekt sprechen
LaufBuddy befindet sich aktuell in der Testphase im Google Play Store. Wenn du Fragen zur Funktion oder zum Teststand hast, schreibe uns.