Sobre o projeto

Android Architecture Samples é uma coleção mantida pela Google de aplicativos Android de exemplo que demonstram diferentes abordagens arquiteturais. Cada branch do repositório contém o mesmo aplicativo TODO implementado com pequenas variações, facilitando a comparação lado a lado dos padrões. O branch atual mostra uma configuração moderna: - Interface do usuário criada com Jetpack Compose. - Arquitetura de atividade única usando Navigation Compose. - Camada de apresentação com uma tela Compose (View) e um ViewModel por tela ou funcionalidade. - UIs reativas usando Flow e corrotinas Kotlin para trabalho assíncrono. - Camada de dados com um repositório e duas fontes de dados: um banco de dados local Room e uma fonte remota fictícia. - Dois product flavors, mock e prod, para facilitar o desenvolvimento e os testes. - Uma coleção de testes unitários, de integração e ponta a ponta, incluindo testes compartilhados que podem ser executados em um emulador ou dispositivo. - Injeção de dependência com Hilt. O projeto usa deliberadamente um aplicativo de tarefas porque ele é simples o suficiente para ser compreendido rapidamente e, ao mesmo tempo, complexo o bastante para ilustrar decisões de design difíceis e cenários de teste. O README é explícito sobre o que o projeto não é: não é um template (o repositório Architecture Templates é sugerido em vez dele), não é uma amostra de UI ou Material Design (Compose Samples é sugerido) e não é um aplicativo de produção com rede ou autenticação (Now in Android é sugerido). Ele tem como público desenvolvedores intermediários e iniciantes que desejam uma estrutura de aplicativo testável e sustentável, além de desenvolvedores avançados que procuram uma referência rápida. Para usar uma amostra, clone o repositório, faça checkout de um branch de exemplo e abra o diretório raiz no Android Studio. O código é licenciado sob Apache 2.0, com copyright da Google.