Let's answer your question one by one.
1. Language selection.
Officially Android developers make use of the Android studio. There is also option of using Eclipse with Android SDK. And third option of the Xamarin studio which is now part of the Visual studio. You can download Visual studio community if you choose to work on C#. If you wish to work on java and kotlin then Andriod Studio is the option along with the Eclipse.
3. Courses and Skills
You can learn the Android programming online. There is no specific fee if you watch some off the youtube channels. For example follow this channel for learning Android programming :
Alternatively there are plenty of good Udemy courses at cheaper cost. So you can take a look at some of them for learning Android. You can also sign up at Pluralsight and the Lynda.com for latest courses but it'd cost you more than Udemy. If you can code in Java then you can easily code in Android. Just more time required for debugging. Having one Android phone is also required as it saves time on debugging.
If you choose to get the courses through paid sources then that is one cost. Make sure to also get minimum RAM of 8GB. I worked on 6GB and it was slow performance of the Android studio and emulator. I'd recommend you to get better RAM and also good processor desktop or laptop. Having good resources definitely helps as you're building apps that runs on hardware so your desktop or laptop is supposed to have a good resource for debugging and compiling.
This should give you headstart for development into Android app programming.