I learned from a combination video tutorials (CasterIO) , online classes (Udacity) , blogs (medium posts) , forums (/r/androiddev) , and the developer.android documentation, codelabs, and javadocs. Also, I follow anyone I learned from on Twitter so I could get more insight into the android ecosystem. I got a copy of the Android Big Nerd Ranch book but I’m not much of a book person when I’m on my computer, I mostly just google and SO stuff instead.
I got my start learning through Udacity’s courses which were made in partnership with Google
When I was learning the basics I started with these two free beginner courses:
https://www.udacity.com/course/android-basics-user-interface--ud834
https://www.udacity.com/course/android-basics-user-input--ud836
However I started to get a lot more value from these 3 courses, and the first one in this list is where I walked through and built my first decent app with four screens. https://github.com/mrk-han/miwok
https://www.udacity.com/course/android-basics-multiscreen-apps--ud839
https://www.udacity.com/course/android-basics-networking--ud843
https://www.udacity.com/course/android-basics-data-storage--ud845
However, I’m not sure I would recommend starting here anymore because there are better options, and these courses are pretty dated now. But they do focus on learning how to read documentation and grasp a basic flow for how to work with Android and mobile specifics.
If I were starting again and was somewhat comfortable with Java, I think I’d go with this Kotlin course:
https://www.udacity.com/course/developing-android-apps-with-kotlin--ud9012
Also, Udacity updated the intermediate course to cover some AAC stuff which can be taken here:
https://www.udacity.com/course/new-android-fundamentals--ud851
(This actually covers the first quarter of the curriculum for the intermediate android nanodegree.)
If that seems to basic, then this Advanced course is supposed to be legit:
https://www.udacity.com/course/advanced-android-app-development--ud855
CasterIO is somewhat expensive but can be covered by WT professional development fund. But there are some free courses. I found the Design Patterns course to be helpful.
https://caster.io/courses/design-patterns
I also think these github repos are great to reference to see basic examples of a bunch of architectures, testing patterns, or how samples on how to use AACs.
https://github.com/googlesamples/
https://github.com/googlesamples/android-architecture
https://github.com/googlesamples/android-architecture-components
https://github.com/googlesamples/android-sunflower
https://github.com/googlesamples/android-testing
Specifically I think the AAC examples are excellent (a few people mention theyre better than the sunflower app for better examples of how to actually do things), and the other architecture repo is great to see a bunch of examples of MVP vs MVVM and MVVM with AAC in Android. I think if he’s coming from web these help because Android Activities/Fragments are usually thought of as Views but shouldn’t be in these patterns, right? I guess I’ve read a lot about Architectures being a little more confusing in Android when people switch from Web.
I’d also recommend a good unit testing course. This one is cheap, and I haven't been through it but it is on my todo list.
https://www.udemy.com/professional-android-unit-testing/
https://github.com/Zhuinden/guide-to-kotlin
https://kotlinlang.org/docs/tutorials/koans.html
https://medium.com/androiddevelopers/kotlin-standard-functions-cheat-sheet-27f032dd4326