Skip to content

Repository files navigation

Sob o Capô do Android Moderno: Interoperabilidade, Ciclo de Vida e Performance Extrema no Jetpack Compose 🤖

Sob o Capô do Android Moderno

Acesse aqui o artigo e veja o passo-a-passo de como configurar e integrar o sistema clássico de Views (XML + Java) com o Jetpack Compose moderno em seu aplicativo Android!


📱 Sobre o Projeto

Este repositório é o projeto prático de exemplo que acompanha o artigo no LinkedIn, demonstrando como orquestrar a convivência entre código legado e moderno com máxima performance:

  • Tela 1 (Home): Desenvolvida no sistema clássico de Views (XML + Java AppCompatActivity).
  • Navegação Híbrida: Transição via Intent da Home em XML para a tela de Perfil moderna.
  • Tela 2 (Perfil): Construída inteiramente em Jetpack Compose (Material 3):
    • Coleta reativa com collectAsStateWithLifecycle() (pausa automática em segundo plano).
    • Controle de recomposição, memoization e estado efêmero com remember (Slot Table).
    • Renderização de componente nativo legado dentro do Compose via AndroidView.
    • Botão de navegação reversa para retornar à tela Home em Views.
  • Ponte Java ↔ Kotlin (ComposeBridge): Uso de @JvmStatic, @JvmOverloads e callbacks com Runnable para permitir chamadas idiomáticas (this::finish) a partir do Java.

🛠️ Tecnologias & Configurações

  • Linguagens: Kotlin & Java (alvo Java 11)
  • UI: Jetpack Compose com Material 3 (Compose BoM 2026.06.00)
  • Sistema de Views: XML com Material Components 3
  • Arquitetura: MVVM (Model-View-ViewModel) com Kotlin Coroutines e StateFlow
  • Gradle: 9.6+ com Kotlin DSL e Version Catalog (libs.versions.toml)
  • Android Gradle Plugin (AGP): 9.4.0
  • Compilador Compose: 2.4.20
  • SDK:minSdk = 24, compileSdk = 37, targetSdk = 37

🚀 Como Executar

Clone o repositório e compile o projeto utilizando o Gradle Wrapper:

# Compilar o APK Debug
.\gradlew.bat assembleDebug
# Executar os testes unitários
.\gradlew.bat test

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages