What am I using as a reference when creating a new Android project from scratch:
My primary reference is the source code for the Kodeko course "Real-World Android by Tutorials" (
https://www.kodeco.com/books/real-world-android-by-tutorials,
https://github.com/kodecocodes/adva-materials/tree/editions/2.0). This course follows a CLEAN Architecture approach and maintains a clear separation of layers. The course was last updated in August 2022 and relies on XML Views and RXJava, so I’m rewriting the code using Jetpack Compose and Kotlin Flows. I also make adjustments to naming conventions and packaging. My newly created project will have one module only but some packages might be moved to their own modules later if needed.
For the Jetpack Compose part I use another Kodeko course,
Jetpack Compose by Tutorials. Again, they use Material 2 and I am rewriting some parts using Material 3.
As a companion to the above the book ‘Clean Architecture for Android’ by Eran Boudjnah has very nice diagrams, especially in the first part of the book.
There's another notable source from 2021 - one of the famous CommonsWare’s books
Exploring Android. It is quite simple in the sense that it doesn't have any domain layer, but it provides an excellent example of a Reactive Architecture implementation in Android. Unfortunately Mark Murphy is no longer updating CommonsWare books.
These sources are my go-to references when starting a new Android project. The official docs from Google go without saying, of course.