Eine moderne Android-Anwendung für die Verwaltung von Benutzerdaten mit AR-Integration, entwickelt für den Kurs "VR, AR & Mobile Development" an der SRH Hochschule Heidelberg.
- Random User API Integration (Random User werden von https://randomuser.me/ bezogen) -> automatisches Laden von Zufallspersonen ("Random User")
- Lokale SQLite Dartenbank -> persistente Datenspeicherung
- AR/Kamera-Integration -> QR-Code basierte Augmented Reality
- Manuelle Benutzererstellung -> eigene Benutzer können erstellt und verwaltet werden
- Suche und Sortierung -> Sortierung nach Name (alphabetisch nach Vorname, a -> z), Datum (Erstellung, neuester User ganz oben), Geburtstag im Jahr (unabhängig von Jahrgang, erste Person im Jahr ganz oben (Person, die am nähesten am 1.1. Geburtstag hat)) oder nach Jahrgang (jüngste Person ganz oben) möglich
- Mehrsprachigkeit -> Standard ist Englisch, Deutsch möglich
- Dark-Mode -> Theme kann angepasst werden
- Dependency Injection -> Architektur mit Hilt
- Statistiken -> Datenbank-Statistiken einsehbar
- Settings-Management -> Dankenbank-Verwaltung (gezieltes Leeren und Befüllen) und App-Einstellungen
- QR-Code
Verwendete Patterns: MVVM, Repository Pattern, Dependency Injection
- Android Studio: Arctic Fox (2020.3.1) oder neuer
- JDK: Version 11+
- Android SDK: Min API 26, Target API 34
- Internet-Verbindung: Für API-Calls und Dependency-Download
- Repository klonen:
- git clone https://github.com/LaraRF/RandomUserApp_Abgabe.git
- cd RandomUserApp
- Projekt in Android Studio öffnen:
- Android Studio starten
- "Open an Existing Project" wählen
- Projekt-Ordner auswählen
- Gradle Sync:
- Automatisch oder manuell: File > Sync Project with Gradle Files
- Alle Dependencies werden automatisch heruntergeladen
- App ausführen:
- Gerät/Emulator verbinden
- Run-Button (
▶️ ) klicken
./gradlew clean ./gradlew build
Core
- AndroidX Core, AppCompat, Material Design 3
- ConstraintLayout, Navigation Component Architecture
- ViewModel, LiveData, Room Database
- Hilt (Dependency Injection) Networking
- Retrofit 2, Gson, OkHttp Features
- CameraX, ZXing (QR-Codes), Glide (Image Loading)
- Kotlin Coroutines Alle Versionen siehe app/build.gradle.kts
- MVVM Architecture: Saubere Trennung der Verantwortlichkeiten
- Kotlin Coding Conventions: Offizielle Kotlin-Standards
- Material Design Guidelines: Konsistente UI/UX
- Single Responsibility Principle: Eine Aufgabe pro Klasse
- Min SDK: 26 (Android 8.0)
- Target SDK: 34 (Android 14)
- Compile SDK: 34
- Java Compatibility: Version 1.8
- ViewBinding: Aktiviert für type-safe view access
- Benutzer-Übersicht
- Liste aller Benutzer (API + manuell erstellt)
- Suche: Nach Name, E-Mail, Standort
- Sortierung: Name, Erstellungsdatum, Geburtsdatum
- Filter: Alle, nur API, nur manuell
- Benutzer-Details
- Vollständige Informationen: Foto, Name, Kontakt, Adresse
- QR-Code: Generierung und Sharing
- Bearbeitung: (TODO - in Entwicklung)
- Manuelle Benutzer-Erstellung
- Pflichtfelder: Vorname, Nachname, E-Mail
- Optionale Felder: Telefon, Geburtsdatum, Adresse, Geschlecht
- Validierung: E-Mail-Format, Pflichtfeld-Prüfung
- AR/Kamera-Modus
- QR-Code-Scanning: Live-Erkennung in Kameraansicht
- AR-Overlay: Benutzer-Informationen über QR-Code
- Navigation: Direkter Zugang zur Detailansicht
- Einstellungen
- Datenbank-Management: Befüllen, Leeren, Statistiken
- App-Präferenzen: Theme, Sprache
- Daten-Export: (TODO - in Entwicklung)
RandomUser.me API
- Base URL: https://randomuser.me/
- Endpoint: GET /api/
- Parameter:
- results: Anzahl Benutzer (1-5000)
- format: json (default), xml, csv, yaml
- nat: Nationalität (us, gb, de, etc.)
- gender: male, female
Beispiel-Request: GET https://randomuser.me/api/?results=10&format=json&nat=de Kamera-Berechtigung:
- Automatische Anfrage beim ersten Aufruf
- Manuell: Einstellungen > Apps > RandomUserApp > Berechtigungen
Dieses Projekt wurde für Bildungszwecke an der SRH Hochschule Heidelberg entwickelt. Verwendete Open-Source-Bibliotheken:
- Alle verwendeten Libraries unterliegen ihren jeweiligen Open-Source-Lizenzen
- Siehe app/build.gradle.kts für vollständige Liste
Kurs: VR, AR & Mobile Development Hochschule: SRH Hochschule Heidelberg Semester: Sommersemester 2025, 4. Fachsemester Dozent: Prof. Dr. Andreas Jäger, Felix Dörschner
- RandomUser.me API: https://randomuser.me/
- Android Developer Docs: https://developer.android.com/
- Material Design: https://material.io/
- Kotlin Documentation: https://kotlinlang.org/docs/
Version: 1.0.0 Letzte Aktualisierung: 23.Juni 2025 https://github.com/LaraRF/RandomUserApp_Abgabe