About this project
Now in Android is a fully functional Android app developed by Google, built entirely with Kotlin and Jetpack Compose. It serves as a reference implementation for Android development best practices, including architecture, modularization, testing, and performance. The app displays content from the Now in Android series, allowing users to browse links to recent videos, articles, and other content. Users can follow topics of interest and receive notifications when new matching content is published.
The app is currently in development, with the prodRelease variant available on the Play Store. It uses the Gradle build system and can be imported directly into Android Studio. The demoDebug and demoRelease build variants can be built and run locally, while the prod variants require a backend server that is not publicly available.
Architecture: The app follows the official Android architecture guidance, with a detailed learning journey available. It is fully modularized, with a modularization learning journey explaining the strategy.
Build: The app includes debug and release variants, plus a benchmark variant for startup performance testing and baseline profile generation. It uses product flavors (demo and prod) to control content sources. The demo flavor uses static local data, while the prod flavor makes network calls to a backend.
Testing: The app uses Hilt for dependency injection and avoids mocking libraries in tests, instead using test doubles that implement the same interfaces as production implementations. It includes local tests, instrumented tests, and screenshot tests using Roborazzi. Screenshot tests verify UI rendering across different screen sizes.
UI: The app is designed using Material 3 guidelines and built entirely with Jetpack Compose. It supports dynamic color themes (based on user's wallpaper) and a default theme, both with dark mode. It uses adaptive layouts to support different screen sizes.
Performance: The app includes Macrobenchmark tests for startup performance and baseline profile generation. It also provides Compose compiler metrics for analyzing performance.
License: Distributed under the Apache License 2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.