which programming language i need to create android application
You can use any programming language : Java with Google SDK for Android, C/C++ with Google NDK for Android. 3rd party dev tools for other languages. (kivy for python) SDK and NDK by Google has as much api/framework as posisble. While using 3rd party dev tools you are limited by apis and frameworks implemented by those libraries.