Android Coden

Phase 06

Architektur

ViewModel, Repositories, Dependency Injection, Modul-Design und nachhaltige App-Architektur.

55 Artikel · Seite 1 von 3

Der Zweck von Software-Architektur
Android

Der Zweck von Software-Architektur

Gute Architektur macht Android-Apps wartbar und testbar. Du lernst, warum Struktur Komplexität dauerhaft unter Kontrolle hält.

· 4 min
Offizielle Architektur-Empfehlungen
Android

Offizielle Architektur-Empfehlungen

Google definiert klare Schichtenprinzipien für Android-Apps. Dieser Artikel erklärt, welche Muster empfohlen werden und warum sie die Wartbarkeit verbessern.

· 5 min
Separation of Concerns – Verantwortlichkeiten klar trennen
Android

Separation of Concerns – Verantwortlichkeiten klar trennen

Separation of Concerns trennt UI, Geschäftslogik und Datenzugriff klar voneinander. So bleibt Android-Code testbar, wartbar und strukturiert.

· 4 min
Verantwortlichkeiten der UI-Schicht
Android

Verantwortlichkeiten der UI-Schicht

Die UI-Schicht hat zwei klar abgegrenzte Aufgaben: Zustand darstellen und Nutzer-Events weiterleiten. Wer das verinnerlicht, schreibt wartbaren Android-Code.

· 4 min
UI-State-Modellierung
Android

UI-State-Modellierung

Lerne, wie du den UI-State einer App explizit modellierst. Vorhersagbare Rendering-Logik beginnt mit klaren Zustandsdefinitionen.

· 4 min
UI Events: Flüchtige Aktionen sauber von Zustand trennen
Android

UI Events: Flüchtige Aktionen sauber von Zustand trennen

UI Events trennen flüchtige Benutzeraktionen von persistentem Zustand. Sie verhindern doppelte Navigation und inkonsistente UI-Zustände.

· 4 min
ViewModel-Verantwortlichkeiten
Android

ViewModel-Verantwortlichkeiten

Das ViewModel hält UI-Zustand vor und koordiniert Geschäftslogik. Du lernst, was hineingehört – und was nicht.

· 4 min
ViewModel Scope – Koroutinen konfigurationsstabil verwalten
Android

ViewModel Scope – Koroutinen konfigurationsstabil verwalten

viewModelScope bindet Koroutinen an den Lebenszyklus des ViewModels. Wenn das ViewModel gelöscht wird, werden alle laufenden Jobs automatisch abgebrochen.

· 4 min
StateFlow in ViewModels
Android

StateFlow in ViewModels

StateFlow verbindet dein ViewModel sicher mit der Compose-UI. Lerne, wie du reaktive Zustandsstreams lifecycle-bewusst aussetzt.

· 4 min
Lifecycle-Aware Collection: Streams nur bei aktiver UI sammeln
Android

Lifecycle-Aware Collection: Streams nur bei aktiver UI sammeln

repeatOnLifecycle koppelt deinen Flow sauber an den UI-Zustand. So sammelst du Streams nur, wenn die UI aktiv genug ist, um Updates anzuzeigen.

· 5 min
Zweck des Domain-Layers
Android

Zweck des Domain-Layers

Der Domain-Layer isoliert Geschäftslogik und ermöglicht deren Wiederverwendung. Lerne, wann und wie du ihn sinnvoll einsetzt.

· 4 min
Use Cases: Geschäftslogik sauber kapseln
Android

Use Cases: Geschäftslogik sauber kapseln

Use Cases kapseln eine konkrete Businessaktion in einer eigenen Klasse. Damit bleibt deine Architektur testbar und übersichtlich.

· 4 min
Data Layer: Verantwortlichkeiten im Überblick
Android

Data Layer: Verantwortlichkeiten im Überblick

Der Data Layer trennt Datenzugriff und Caching sauber vom UI-Code. Lerne, was Repositories und Data Sources leisten.

· 4 min
Repository APIs
Android

Repository APIs

Repositories kapseln Datenquellen hinter einer klaren API. Du lernst, Methoden app-nah statt datenbank-nah zu gestalten.

· 4 min
Data Sources: Lokale und Remote-Daten sauber trennen
Android

Data Sources: Lokale und Remote-Daten sauber trennen

Data Sources kapseln den Zugriff auf lokale und Remote-Daten. Repositories koordinieren sie, damit der Rest der App nichts vom Speicherort wissen muss.

· 4 min
Model Mapping in Android
Android

Model Mapping in Android

Lerne, warum du Datenmodelle an Schichtgrenzen konvertieren solltest. So vermeidest du, dass externe Formate deine gesamte App durchdringen.

· 4 min
Single Source of Truth: Konsistente Zustände in Android
Android

Single Source of Truth: Konsistente Zustände in Android

Das Single-Source-of-Truth-Prinzip bedeutet: Ein Zustand, eine Quelle. Es verhindert Datenwidersprüche und ist die Basis für offline-fähige Android-Apps.

· 4 min
Offline-First-Architektur
Android

Offline-First-Architektur

Offline-First-Apps bleiben nutzbar, wenn das Netz ausfällt. Lerne, wie du Daten lokal speicherst, synchronisierst und Fehler resilient behandelst.

· 4 min
Error Boundaries: Fehler abfangen, loggen und sinnvoll anzeigen
Android

Error Boundaries: Fehler abfangen, loggen und sinnvoll anzeigen

Lerne, wo du Fehler in Android-Apps gezielt abfängst und transformierst. Klare Grenzen verbessern UX und Stabilität.

· 4 min
Loading State Design: Ladeanimationen ohne Kontext-Verlust
Android

Loading State Design: Ladeanimationen ohne Kontext-Verlust

Ladeanimationen richtig designen verhindert Flackern und hält Nutzer orientiert. Skeleton Screens und Progress-Indikatoren in Compose korrekt einsetzen.

· 4 min
Der Zweck von Dependency Injection in Android
Android

Der Zweck von Dependency Injection in Android

Dependency Injection entkoppelt Objekte von ihren Abhängigkeiten. So bleibt Code testbar und leicht wartbar.

· 5 min
Hilt Grundlagen: Dependency Injection in Android
Android

Hilt Grundlagen: Dependency Injection in Android

Hilt vereinfacht DI in Android durch generierte Dagger-Komponenten. Du lernst Module, Scopes und Annotationen wie @Inject kennen.

· 4 min
Hilt Scopes: Abhängigkeiten richtig scopen
Android

Hilt Scopes: Abhängigkeiten richtig scopen

Hilt Scopes steuern, wie lange eine Abhängigkeit im Speicher lebt. Lerne, welchen Scope du wann einsetzt.

· 4 min
Assisted Injection: Laufzeitparameter sauber einschleusen
Android

Assisted Injection: Laufzeitparameter sauber einschleusen

Manche Abhängigkeiten kennt Hilt erst zur Laufzeit. Assisted Injection verbindet injizierte Klassen mit dynamischen Parametern über typsichere Factories.

· 4 min