0Pricing
Android Academy · Aula

Configurando o NavHost

Defina um grafo de navegação no Compose.

Configurando o NavHost é uma aula grátis de Android Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Android Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Android Academy inclui 4 aulas no total.

Navegando entre telas

A maioria dos aplicativos tem mais de uma tela. A biblioteca Navigation Compose permite navegar entre telas compostas, mantendo uma pilha de retorno.

A dependência

Adicione a biblioteca de navegação ao seu arquivo do Gradle para obter NavController, NavHost e funções auxiliares.

// build.gradle (module)
implementation("androidx.navigation:navigation-compose:2.7.0")

O NavController

O NavController é o objeto que executa a navegação e memoriza a pilha de retorno. Crie-o com rememberNavController().

val navController = rememberNavController()

O NavHost

O NavHost é um composable que exibe o destino atual. Ele precisa do controller e de uma rota startDestination.

NavHost(
    navController = navController,
    startDestination = "home"
) {
    // destinations go here
}

Definindo destinos

Dentro da lambda de NavHost, declare cada tela com composable("route"). A string é a rota do destino.

composable("home") {
    HomeScreen()
}

As rotas são strings

Uma rota é um identificador de string exclusivo para um destino, semelhante ao caminho de uma URL. Você navega usando a rota, e o NavHost exibe o composable correspondente.

Um grafo com duas telas

Aqui está um grafo de navegação mínimo com dois destinos. "home" é exibido primeiro porque é o startDestination.

NavHost(navController, startDestination = "home") {
    composable("home") { HomeScreen() }
    composable("details") { DetailsScreen() }
}

startDestination

O startDestination é a primeira tela que o usuário vê e a raiz da pilha de retorno. O aplicativo não pode voltar além dele.

Passando o controller adiante

As telas que iniciam a navegação precisam do NavController. Passe-o como parâmetro ou, de preferência, passe lambdas simples como onContinue para manter as telas reutilizáveis.

composable("home") {
    HomeScreen(onOpenDetails = {
        navController.navigate("details")
    })
}

Um NavHost por área

Normalmente, você tem um único NavHost no nível mais alto do aplicativo. O controller é criado uma vez com rememberNavController() e compartilhado entre os destinos.

Juntando tudo

Uma configuração completa: controller, host e dois destinos.

@Composable
fun App() {
    val navController = rememberNavController()
    NavHost(
        navController = navController,
        startDestination = "home"
    ) {
        composable("home") { HomeScreen() }
        composable("details") { DetailsScreen() }
    }
}

Verificação rápida

Qual objeto memoriza a pilha de retorno e executa a navegação?

Recapitulação

Configuração da navegação:

  • rememberNavController() cria o controller.
  • NavHost exibe os destinos e precisa de um startDestination.
  • Declare as telas com composable("route"); as rotas são strings exclusivas.

Perguntas Frequentes

A aula “Configurando o NavHost” é grátis?

Sim — o texto completo de “Configurando o NavHost” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Android Academy, atualize para CoddyKit PRO. O curso de Android Academy inclui 4 aulas no total.

O que vou aprender em “Configurando o NavHost”?

Defina um grafo de navegação no Compose. Você pratica Android Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Android Academy?

Nenhuma experiência prévia é necessária. Android Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Configurando o NavHost”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Android Academy?

Sim. Cada aula de Android Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Configurando o NavHost
  2. Navegando entre telas
  3. Passando argumentos
  4. Navegação inferior
← Voltar para Android Academy