Android is extremely popular platform. As technology platfrom, there is no comparison of scale of its availability. This makes it a very attactive programing target. To official start learning Android, Google aggregates resources at Android Website. There is however several unofficial but highly authoritative places to learn all aspects of Android development. The successful cycle of development consists on 4 phases as listed
Android Play Store is filled with apps for everything possible. Most apps will not attract any attention from normal users. To create a successful app, start with thinking, who will user your app and Why? Even better to start with a specific users problem. That user could be even you. Once you have pinned down who is your user and why she uses your app. Next steps become easier to execute.
For look and UI, Google as already laid out design principle guide. Many new designers and non-designers try Android and there is creative vision specifically to guide baby steps. There are design processes and UI Research video guide charting using Pulse Studies quickly validate designs with your users.
For development, you need to setup development environment. After downloading Java, you need to setup a development environment. Android Studio is popular development environment followed by IntelliJ Idea. There is additional download of Android SDK. This will get you up and running. Java is extremely resource hungry which means for working system, minimum 8 GB RAM and ample disk space is required. Among current laptops, Dell Inspiron for Windows or Linux users or 13 inch Macbook Pro are recommended.
Android games require slightly different understanding of the system. Unity3D is most popular kit for developing games. Unity3D provides a large array of resources. There is a step by step tutorial which is help starting point.
It is daunting to understand constructs of Android. There are however, many online courses which come to help like the one called The Complete Android N Developer Course which expects zero programming knowledge to start. For game development Zenva runs Game Development Mini-Degree
Google aggregates examples which illustrate several facets of current Android APIs and capabilties. Vogella also aggregates several useful examples which are offered with a popular online tutorial. Altough little dated, there is a [Cheat Sheet](http://intelfinity.com/Android Dev CHeat Sheet.pdf) from Avi Yehuda who also recommends to read Programming Android.
Uploading your app requires you to signup for google play developer account. This costs you 25$ once. Uploading is the first step, it requires dedicated effort to ensure your app success. There are two guides Distrbution Essentials which id dedicted to app quality and Building Buzz which is explains distribution channels.
Android development requires hard work which is fulfilling because you are able to reach out to wide cross section of technology users. That creates very many niches like Grand Mother looking for knitting tutorials to a millennial looking new selfie app. Creating a gamut of oppertunities for keen developer.