Aktivitäten und Lebenszyklus
Lernen Sie, was eine Activity ist, verstehen Sie die Callbacks des Activity-Lebenszyklus (onCreate, onStart, onResume, onPause, onStop, onDestroy) und verwenden Sie ViewBinding.
Aktivitäten und Lebenszyklus ist eine kostenlose Android Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 7. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Android Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Android Academy-Kurs umfasst insgesamt 7 Lektionen.
Was ist eine Activity?
Eine Activity ist ein einzelner Bildschirm Ihrer Android-App.
- Jeder Bildschirm (Anmeldung, Startseite, Einstellungen) ist eine Activity
- Sie verwaltet ein Layout (XML) und Benutzerinteraktionen
- Sie wird in AndroidManifest.xml deklariert
Betrachten Sie sie als Android-Entsprechung einer Webseite — jede Seite ist eine Activity.
Lebenszyklus einer Activity
Eine Activity durchläuft eine Reihe von Lebenszykluszuständen, während der Benutzer durch die App navigiert:
- Erstellt → Gestartet → Fortgesetzt (sichtbar und aktiv)
- Pausiert (teilweise verborgen)
- Gestoppt (vollständig verborgen)
- Zerstört (Activity ist nicht mehr vorhanden)
Sie überschreiben Lebenszyklusmethoden, um auf diese Übergänge zu reagieren.
Lebenszyklus-Callbacks
Die sechs wichtigsten Lebenszyklus-Callbacks:
onCreate()— Activity wird erstellt. Richten Sie hier Ihr Layout ein.onStart()— Activity wird sichtbar.onResume()— Activity befindet sich im Vordergrund, der Benutzer kann interagieren.onPause()— Benutzer verlässt die Activity. Speichern Sie temporäre Daten.onStop()— Activity ist nicht mehr sichtbar.onDestroy()— Activity wird zerstört.
Beispiel für MainActivity
Eine minimale Activity mit Protokollierung des Lebenszyklus:
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
private val TAG = "MainActivity"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Log.d(TAG, "onCreate")
}
override fun onResume() {
super.onResume()
Log.d(TAG, "onResume — user is here")
}
override fun onPause() {
super.onPause()
Log.d(TAG, "onPause — saving state")
}
override fun onDestroy() {
super.onDestroy()
Log.d(TAG, "onDestroy")
}
}Warum der Lebenszyklus wichtig ist
Häufige Fehler, die durch das Ignorieren des Lebenszyklus entstehen:
- Ein Video in
onResumeabspielen, aber vergessen, es inonPauseanzuhalten — der Akku wird entladen - Einen Sensor-Listener in
onCreateregistrieren, aber nicht inonDestroyabmelden — Speicherleck - Formulardaten nicht in
onPausespeichern — der Benutzer verliert bei einem Telefonanruf seinen Fortschritt
Zustand speichern: onSaveInstanceState
Wenn der Benutzer das Telefon dreht, wird die Activity zerstört und neu erstellt. Der UI-Zustand geht verloren.
Speichern Sie den vorübergehenden Zustand in onSaveInstanceState(bundle) und stellen Sie ihn in onCreate(savedInstanceState) wieder her.
Zustand speichern und wiederherstellen
Daten über Konfigurationsänderungen hinweg beibehalten:
class CounterActivity : AppCompatActivity() {
private var count = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_counter)
// Restore saved state after rotation
count = savedInstanceState?.getInt("count") ?: 0
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putInt("count", count)
}
}Back Stack
Android verwaltet einen Back Stack aus Activities:
- Beim Starten einer neuen Activity wird sie auf den Stack gelegt
- Durch Drücken der Zurück-Taste wird die oberste Activity vom Stack entfernt und zerstört
- Die vorherige Activity wird automatisch fortgesetzt
Deshalb sollten Sie finish() nicht manuell aufrufen, außer Sie möchten den aktuellen Bildschirm ausdrücklich aus dem Back Stack entfernen.
Konfigurationsänderungen
Jede Konfigurationsänderung (Drehung, Sprachwechsel, angeschlossene Tastatur) erstellt die Activity standardmäßig neu.
Die moderne Lösung ist die Verwendung eines ViewModel — es übersteht Konfigurationsänderungen und verwaltet Ihre Daten sicher. ViewModel lernen Sie im Modul zur Architektur kennen.
Schnelltest
In welcher Lebenszyklusmethode sollten Sie das Layout einrichten (setContentView aufrufen)?
Zusammenfassung: Activities & Lebenszyklus
Sie verstehen jetzt Android-Activities:
- Eine Activity = ein Bildschirm Ihrer App
- Lebenszyklus: onCreate → onStart → onResume → onPause → onStop → onDestroy
- Vorübergehenden Zustand in
onSaveInstanceStatespeichern - Durch die Drehung wird die Activity zerstört und neu erstellt
- Android verwaltet automatisch einen Back Stack
Als Nächstes: Bildschirme mit Layouts und Views gestalten.
Häufig gestellte Fragen
Ist die Lektion „Aktivitäten und Lebenszyklus“ kostenlos?
Ja — der vollständige Text von „Aktivitäten und Lebenszyklus“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Android Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Android Academy-Kurs umfasst insgesamt 7 Lektionen.
Was lerne ich in „Aktivitäten und Lebenszyklus“?
Lernen Sie, was eine Activity ist, verstehen Sie die Callbacks des Activity-Lebenszyklus (onCreate, onStart, onResume, onPause, onStop, onDestroy) und verwenden Sie ViewBinding. Du übst Android Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Android Academy zu starten?
Keine Vorkenntnisse erforderlich. Android Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 7.
Wie lange dauert die Lektion „Aktivitäten und Lebenszyklus“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Android Academy-Lektion Code schreiben und ausführen?
Ja. Jede Android Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Projektstruktur und Manifest
- Aktivitäten und Lebenszyklus
- Layouts und Views
- Benutzereingaben verarbeiten
- Intents und Navigation
- Fragments
- Berechtigungen und Laufzeitanfragen