Modern Android applications can be developed simply by using Android Architecture Components. Unfortunately, most of the guides, tutorials, and samples only include very simple use-case scenarios and do not address the intricacies and complexity of actual real Android apps.
More information