It is clear that mobile platforms play an essential role in many parts of our lives. Whether for fun or for profit, developing Android apps can be rewarding, both personally and financially. Assuming you have a certain level of technical knowledge then it is possible to develop Android apps yourself, but what programming languages do you need to learn?
The official language for Android development is Java. Large parts of Android are written in Java and its APIs are designed to be called primarily from Java. But, it also possible to develop C and C++ apps using the Android Native Development Kit (NDK), however it isn’t something that Google promotes.
Learn Java - Java is a programming language that found on many different types of devices from smartphones, to mainframe computers. It can be use on desktop PC and even on the Raspberry Pi. Java doesn't compile to native processor code but rather it relies on a "virtual machine" which understands an intermediate format called Java bytecode. That means, you can develop Android apps on Windows, Linux or OS X and the Java compiler converts the source code into bytecode. This in turn is executed on the VM built-in to Android.
Learn Corona - If you don't want to learn Java or how to design user interfaces in XML, then there are alternatives. One is to use the Corona SDK. Corona is a high level SDK built on the LUA programming language. LUA is much simpler to learn than Java and the SDK takes away a lot of the pain in developing Android app. Corona includes a sophisticated emulator which allows you to run your program instantly without needing to compile your code. When you want to create an Android .apk file you start a build via Corona’s online compilers and the app is saved to your PC. Corona is designed mainly for games and as such includes libraries for sprites, audio, game networking and a 2D physics engine. Almost everything in Corona is displayed via OpenGL. This means you get GPU accelerated graphics, plus the default app is a blank canvas, all you need to do is start painting.