Menyiapkan NavHost
Definisikan grafik navigasi di Compose.
Menyiapkan NavHost adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 1 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.
Bernavigasi Antar Layar
Sebagian besar aplikasi memiliki lebih dari satu layar. Pustaka Navigation Compose memungkinkan Anda berpindah antar layar composable sambil mempertahankan tumpukan kembali.
Dependensi
Tambahkan pustaka navigasi ke berkas Gradle Anda, lalu Anda mendapatkan NavController, NavHost, dan berbagai pembantu.
// build.gradle (module)
implementation("androidx.navigation:navigation-compose:2.7.0")NavController
NavController adalah objek yang menjalankan navigasi dan mengingat tumpukan kembali. Buat dengan rememberNavController().
val navController = rememberNavController()NavHost
NavHost adalah composable yang menampilkan tujuan saat ini. Composable ini memerlukan controller dan rute startDestination.
NavHost(
navController = navController,
startDestination = "home"
) {
// destinations go here
}Menentukan Tujuan
Di dalam lambda NavHost, deklarasikan setiap layar dengan composable("route"). String tersebut adalah rute tujuan.
composable("home") {
HomeScreen()
}Rute Adalah String
Rute adalah id string unik untuk suatu tujuan, seperti jalur URL. Anda bernavigasi berdasarkan rute, dan NavHost menampilkan composable yang sesuai.
Grafik Dua Layar
Berikut grafik navigasi minimal dengan dua tujuan. "home" ditampilkan pertama karena merupakan startDestination.
NavHost(navController, startDestination = "home") {
composable("home") { HomeScreen() }
composable("details") { DetailsScreen() }
}startDestination
startDestination adalah layar pertama yang dilihat pengguna dan merupakan akar tumpukan kembali. Aplikasi tidak dapat menghapus tujuan melewatinya.
Meneruskan Controller ke Bawah
Layar yang memicu navigasi memerlukan NavController. Teruskan sebagai parameter, atau lebih baik, teruskan lambda sederhana seperti onContinue agar layar dapat digunakan kembali.
composable("home") {
HomeScreen(onOpenDetails = {
navController.navigate("details")
})
}Satu NavHost per Area
Biasanya Anda memiliki satu NavHost di bagian teratas aplikasi. Controller dibuat sekali dengan rememberNavController() dan digunakan bersama di seluruh tujuan.
Menyatukan Semuanya
Penyiapan lengkap: controller, host, dan dua tujuan.
@Composable
fun App() {
val navController = rememberNavController()
NavHost(
navController = navController,
startDestination = "home"
) {
composable("home") { HomeScreen() }
composable("details") { DetailsScreen() }
}
}Pemeriksaan Singkat
Objek mana yang mengingat tumpukan kembali dan menjalankan navigasi?
Ringkasan
Penyiapan navigasi:
rememberNavController()membuat controller.NavHostmenampilkan tujuan dan memerlukanstartDestination.- Deklarasikan layar dengan
composable("route"); rute adalah string unik.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menyiapkan NavHost” gratis?
Ya — teks lengkap “Menyiapkan NavHost” 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 “Menyiapkan NavHost”?
Definisikan grafik navigasi di Compose. 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 1 dari 4.
Berapa lama pelajaran “Menyiapkan NavHost” 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