So You Wanna Learn Android Development
Congratulations. You have decided that you want to learn how to be an Android developer. None of this cross platform frameworks but real native Android development in Java. There are many entry points into Android development starting with new developers, Enterprise Java developers making the transition into mobile and people who just want to learn mobile development.
As you launch into your Android adventure you are probably going to hit a few walls/pain points and discover the learning curve in the beginning can be steep. If you know what you are in for it should lessen the trauma and give you the motivation to push through and not give up and succumb to something evil like Swift or C#.
Java is the language of choice for doing Android development. If you have never done Java before it is not a difficult language to pickup. There are plenty of tutorials out there to teach you the basics of the language. It is not important that you know everything about Java but just the basics such as structure and how to create and use objects.
If you already have a Java background you will probably need to unlearn some of the stuff you have learned because Java best practices and Android best practices can differ (the Java enum probably best illustrates the differences). If you are fluent in Java 1.8 you best abandon a lot of the language features for 1.7 because as of October 2016, 1.8 features support just is not there yet. You will also have to adjust some of your coding style to adapt to the Android frameworks.
Android Studio is a great IDE (Integrated Development Environment) once you figure out how to make it all work. Simply getting the string Hello World to appear on an Android device (or an emulated one) is going to take a fair bit of effort if you have limited experience with Java or the IntelliJ IDE . If you an Eclipse user you can forget Eclipse because you are now in the world of IntelliJ.
Your initial experiences with Android Studio will probably be frustrating but once you find your comfort level it can do some incredible things for you. Make the commitment once you find your comfort level to learn new things about Android Studio because there is plenty to learn
The Android APIs were put together by some very talented developers with some advanced knowledge. A lot of this is reflected in the Android APIs which will probably lead to a lot of confusion when you first spend any amount of time with them (check out Fragment life cycles for an example).
Best advice is in the beginning do a lot of copy and pasting and follow a lot of tutorials. Figure out how to make it to work and the understanding will come later. Once you start to understand the thought processes behind Android and the APIs they will become a lot easier to read.
Android Learning Materials
Thankfully the Internet is full of all sorts of learning resources for how to learn Android. The bad news is many of them are obsolete because Android best practises seem to reinvent themselves every year with the release of the latest Android version. When searching out answers for Android development pay special attention to the date it was written because what worked last year may not work this year.
It can be frustrating to think you found the answer only to realise it was made obsolete two years ago. Trying to get the answer will usually involve a little digging.
Android development is a lot of work. While their are lots of tools to make things easier, Android requires a significant commitment to get everything up and running. By having some advanced knowledge of what pain points to expect you will be prepared for them and know what you need to do to overcome them.
Best of luck with your Android development adventures.