Programming is no easy task, but when we talk about developing for the Android system, things gets slightly better, thanks to the huge amount of resources and the amazing community we can count on when we learn.
Big G provides a wide variety of tools, documentation and projects that can help us kickstart our projects and learn the basics of Android, but we always have to remember that nobody forces you into choosing any technology, architecture or pattern, and with the experience everyone is able to make their own call about these topics.
The first thing we need when we want to create an Android app is an IDE, and the best one for this task is definitely Android Studio, the official IDE for Android. Once we have the tooling covered, we can start taking a look to the Udacity Nanodegree on how to become an Android Developer. Eventually, there are also some very useful quick lessons on YouTube, focused on specific topics.
Historically, Java has always been the language for developing Android apps, but in the last couple of years another amazing one raised, Kotlin. Since there are tons of resources on the web on why you should learn this language today, let’s focus on the how instead. The best first step to getting started are the Kotlin Koans, a list of exercises that can be executed in your browser (even on your mobile phone) to learn this amazing new language. Next, you can head to the free online course made by Google and get more in-depth. Additionally, I would suggest you to read Kotlin in Action and Kotlin for Android Developers, amazing books that will guide you through the features of the language.
Medium is certainly the most used blogging platform as of today, with publications such as ProAndroidDev and the official Google Developers one, but it is definitely not the only one; Styling Android, for instance, is filled with interesting topics, explained very clearly and with a lot of examples.
These blogs are most certainly very famous and very good, but the Android community is so big that a simple Google search would surface hundreds of other resources that would help you get on the right track.
Last but not least, there are several newsletter that summarise some of the most useful articles, videos, and resources published during the week: my favourite one is Android Weekly, followed closely by Kotlin Weekly and Android Dev Digest.
Of course, this is my personal opinion on what I would use today if I was starting Android Development from scratch. There are tons of resources, libraries, and patterns I left out, but you will discover them when the time comes!