Makrosites

Suas ideias em realidade digital!

Navigation Component no Android: guia completo com Safe Args e BackStack

Navigation Component no Android: guia completo com Safe Args e BackStack >

O que é Navigation Component?

Navigation Component é a biblioteca oficial do Android Jetpack para gerenciar navegação entre Fragments. Ela resolve problemas clássicos como:


1️⃣ Adicionando dependência

implementation "androidx.navigation:navigation-fragment-ktx:2.7.7"
implementation "androidx.navigation:navigation-ui-ktx:2.7.7"
Se usar Safe Args:
plugins {
    id "androidx.navigation.safeargs.kotlin"
}

2️⃣ Criando o nav_graph.xml

Crie em: res/navigation/nav_graph.xml



    

        

    

    



3️⃣ Adicionando NavHost

No layout da Activity:


4️⃣ Navegando entre fragments

findNavController()
    .navigate(R.id.action_home_to_detail)
Muito mais simples que FragmentTransaction manual.

5️⃣ Passando argumentos com Safe Args

No nav_graph:


    


Navegação:
val action = HomeFragmentDirections
    .actionHomeToDetail(userId = 10)

findNavController().navigate(action)
Recebendo no DetailFragment:
val args: DetailFragmentArgs by navArgs()
val id = args.userId
Safe Args evita erros de tipo.

6️⃣ Controle do BackStack

Remover tela anterior:
findNavController().navigate(
    R.id.homeFragment,
    null,
    NavOptions.Builder()
        .setPopUpTo(R.id.loginFragment, true)
        .build()
)
Muito usado após login.

Boas práticas profissionais


Integração com arquitetura moderna

Navigation combina perfeitamente com: