Fundamentals
- MVVM architecture (LiveData and ViewModel classes)
- ConstraintLayout (transitions)
- Fragments
- Navigation component (to pass data between Fragments)
- Unit testing (JUnit)
Source of knowledge
Docs
Documentation from Google is dryish, but usually covers the topic very well. For example Dependency injection
Code
No doubt if you don't write a line of code - you don't have a real taste of the language. So check out popular repositories that apply best practices for real applications
- Conference planner
- Todo list series to watch