I can share my learnings with you since the time I have got hands-on with Android programming.
Building an Android app comes down to two major skills/languages: Java and Android. Java is the language used in Android, but the Android part encompasses learning XML for the design of the app, learning the concepts of Android, and using the concepts programmatically with Java.
Once you learn Java and XML (XML is really easy to get used to, and you should learn the language as you program your app rather than learning it beforehand like you would with Java), you need to learn how to connect these two using Android principles.
For a total beginner, I recommend learning Java.
There are no shortcuts here, you just have to learn Java.
Now for a total beginner, I recommend YouTube tutorials to get the basic idea of how to install Eclipse (the Integrated Development Environment, or IDE, for Java) and the Java Development Kit (JDK). It also helps to get the basic idea of syntax behind Java concepts, such as for loops and if statements.But from then on, after you have learned the very basics, I HIGHLY recommend ditching the YouTube tutorials in favor of a book or a lecture series online.
You can buy a course online or if you are looking for something free you can view
this.
Now, coming to Android Studio and Eclipse:
Android Studio and Eclipse are IDEs or Integrated Development Environments. You could code Java using other programs that run the code, but I personally am not too familiar with these and would not recommend these at all to a beginner.
The IDEs compile and run your code with just a touch of a button, unlike other applications where you would have to write some code to compile and then write some code to run. You have to install the Android SDK with Eclipse, but all of the installation process is covered in depth on the Android developer's website.
I took almost exactly two months to complete my app. When I started off, I spent 4+ hours a day reading the
Big Nerd Ranch book and following the tutorials to make the apps in the book. Time flew by when I was actually making my own app, because solving a small problem, such as saving data, took me a while to fully understand the material since it was new to me.
I had a bunch of time to do this because I was on summer break and had nothing else to do. I used Google to search up any questions that I was stuck on, which was a lot of the time because I was new to Android. The top results were usually
Stack Overflow, but when Stack Overflow didn't have an answer that worked for me, I posted on
/r/androiddev Subreddit and they were extremely helpful.