Meneruskan Argumen
Kirim data ke suatu tujuan.
Meneruskan Argumen adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Android Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Android Academy mencakup 4 pelajaran total.
Meneruskan Data Antar-Layar
Sering kali sebuah tujuan memerlukan data, seperti id item yang akan ditampilkan. Di Navigation Compose, Anda menyandikan argumen langsung di dalam rute, mirip seperti URL.
Rute dengan Placeholder
Deklarasikan placeholder dalam rute menggunakan kurung kurawal. Di sini, {id} adalah argumen bernama id.
composable("details/{id}") { backStackEntry ->
// read id here
}Mendeklarasikan Jenis Argumen
Beri tahu navigator jenis argumen dengan arguments dan navArgument. Navigator akan memvalidasi dan mengonversi nilainya untuk Anda.
composable(
"details/{id}",
arguments = listOf(navArgument("id") { type = NavType.IntType })
) { /* ... */ }NavType
NavType mendeklarasikan jenis data argumen, seperti IntType, StringType, BoolType, dan lainnya. Navigator mengurai nilai rute sesuai dengan jenis tersebut.
Membaca Argumen
Lambda tujuan memberi Anda sebuah backStackEntry. Baca argumen dari backStackEntry.arguments.
composable(
"details/{id}",
arguments = listOf(navArgument("id") { type = NavType.IntType })
) { backStackEntry ->
val id = backStackEntry.arguments?.getInt("id") ?: 0
DetailsScreen(id = id)
}Bernavigasi dengan Nilai
Untuk membuka layar, buat string rute dengan mengganti placeholder menggunakan nilai sebenarnya.
navController.navigate("details/42")Membangun Rute dengan Aman
Gunakan templat string untuk menyisipkan nilai. Pastikan segmen jalur sama persis dengan rute yang dideklarasikan.
val itemId = 42
navController.navigate("details/$itemId")Argumen Opsional
Argumen opsional menggunakan format string kueri dengan ?name=value dan defaultValue. Argumen ini boleh dihilangkan saat bernavigasi.
composable(
"search?query={query}",
arguments = listOf(navArgument("query") {
defaultValue = ""
})
) { /* ... */ }Argumen String Memerlukan Perhatian
Argumen string harus aman untuk URL. Hindari meneruskan teks panjang atau garis miring melalui rute; untuk data tersebut, gunakan ViewModel bersama atau repositori yang menggunakan id sebagai kunci.
Teruskan ID, Bukan Objek
Praktik terbaik: teruskan pengenal kecil, seperti id item, melalui rute, lalu cari objek lengkapnya di layar tujuan. Jangan membuat serialisasi objek besar ke dalam rute.
Menyatukan Semuanya
Daftar berpindah ke layar detail sambil meneruskan id yang dipilih.
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)
}Pemeriksaan Singkat
Bagaimana cara mendeklarasikan argumen bilangan bulat wajib bernama id dalam sebuah rute?
Rangkuman
Meneruskan argumen:
- Tambahkan
{placeholder}ke dalam rute. - Deklarasikan jenisnya dengan
navArgument+NavType. - Baca argumen dari
backStackEntry.arguments. - Bernavigasilah dengan nilai yang menggantikan placeholder; teruskan id kecil, bukan objek besar.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Meneruskan Argumen” gratis?
Ya — teks lengkap “Meneruskan Argumen” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Android Academy, upgrade ke CoddyKit PRO. Kursus Android Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Meneruskan Argumen”?
Kirim data ke suatu tujuan. Kamu berlatih Android Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Android Academy?
Tidak diperlukan pengalaman sebelumnya. Android Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Meneruskan Argumen” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Android Academy ini?
Ya. Setiap pelajaran Android Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Menyiapkan NavHost
- Bernavigasi Antar-Layar
- Meneruskan Argumen
- Navigasi Bawah