Android Academy · Lektion

Argumente übergeben

Übergeben Sie Daten an ein Ziel.

Lektion 3 von 413 Schritte

Argumente übergeben ist eine kostenlose Android Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. 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 4 Lektionen.

Daten zwischen Bildschirmen übergeben

Oft benötigt ein Ziel Daten, etwa die ID des anzuzeigenden Elements. In Navigation Compose codieren Sie Argumente direkt in der Route, ähnlich wie bei einer URL.

Route mit Platzhalter

Definieren Sie einen Platzhalter in der Route mit geschweiften Klammern. Hier ist {id} ein Argument mit dem Namen id.

composable("details/{id}") { backStackEntry ->
    // read id here
}

Den Argumenttyp deklarieren

Geben Sie dem Navigator den Typ des Arguments mit arguments und navArgument an. Der Wert wird dadurch für Sie validiert und konvertiert.

composable(
    "details/{id}",
    arguments = listOf(navArgument("id") { type = NavType.IntType })
) { /* ... */ }

NavType

NavType legt den Datentyp des Arguments fest – IntType, StringType, BoolType und weitere. Der Navigator wertet den Routenwert entsprechend aus.

Das Argument auslesen

Das Lambda des Ziels stellt Ihnen einen backStackEntry bereit. Lesen Sie Argumente aus backStackEntry.arguments aus.

composable(
    "details/{id}",
    arguments = listOf(navArgument("id") { type = NavType.IntType })
) { backStackEntry ->
    val id = backStackEntry.arguments?.getInt("id") ?: 0
    DetailsScreen(id = id)
}

Mit einem Wert navigieren

Um den Bildschirm zu öffnen, erstellen Sie die Routen-Zeichenfolge und ersetzen den Platzhalter durch den tatsächlichen Wert.

navController.navigate("details/42")

Die Route sicher erstellen

Verwenden Sie String-Templates, um den Wert einzufügen. Achten Sie darauf, dass das Pfadsegment genau der deklarierten Route entspricht.

val itemId = 42
navController.navigate("details/$itemId")

Optionale Argumente

Optionale Argumente verwenden eine Abfragestring-Syntax mit ?name=value und einem defaultValue. Sie können bei der Navigation weggelassen werden.

composable(
    "search?query={query}",
    arguments = listOf(navArgument("query") {
        defaultValue = ""
    })
) { /* ... */ }

Bei String-Argumenten ist Vorsicht geboten

String-Argumente müssen URL-sicher sein. Übergeben Sie keinen langen Text und keine Schrägstriche über Routen. Verwenden Sie dafür vorzugsweise ein gemeinsam genutztes ViewModel oder ein Repository, das über eine ID angesprochen wird.

IDs statt Objekte übergeben

Bewährte Vorgehensweise: Übergeben Sie eine kleine Kennung, etwa eine Element-ID, über die Route und laden Sie anschließend das vollständige Objekt auf dem Zielbildschirm. Serialisieren Sie keine großen Objekte in Routen.

Alles zusammenführen

Eine Liste navigiert zu einem Detailbildschirm und übergibt die ausgewählte ID.

composable("list") {
    ListScreen(onItemClick = { id ->
        navController.navigate("details/$id")
    })
}
composable(
    "details/{id}",
    arguments = listOf(navArgument("id") { type = NavType.IntType })
) { entry ->
    val id = entry.arguments?.getInt("id") ?: 0
    DetailsScreen(id = id)
}

Kurze Überprüfung

Wie deklarieren Sie ein erforderliches Integer-Argument mit dem Namen id in einer Route?

Zusammenfassung

Argumente übergeben:

  • Fügen Sie eine {placeholder}-Angabe in die Route ein.
  • Deklarieren Sie den Typ mit navArgument + NavType.
  • Lesen Sie das Argument aus backStackEntry.arguments aus.
  • Navigieren Sie mit dem eingesetzten Wert; übergeben Sie kleine IDs statt großer Objekte.
Kostenlos starten

Lerne Kotlin mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
36
Lektionen
152

Häufig gestellte Fragen

Ist die Lektion „Argumente übergeben“ kostenlos?

Ja — der vollständige Text von „Argumente übergeben“ 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 4 Lektionen.

Was lerne ich in „Argumente übergeben“?

Übergeben Sie Daten an ein Ziel. 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 3 von 4.

Wie lange dauert die Lektion „Argumente übergeben“?

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

  1. NavHost einrichten
  2. Zwischen Bildschirmen navigieren
  3. Argumente übergeben
  4. Untere Navigation
← Zurück zu Android Academy