Android is not a programming language, it is a platform you develop for. Android apps are meant to be written in Java, but it is possible to use C or C++ with the Native Development Kit (NDK).
If you are new to Java, start here:
http://download.oracle.com/javase/tutorial/
If you can already code in Java, start here:
http://developer.android.com/sdk/index.html
http://developer.android.com/guide/index.html
If you want to use the NDK, but don't know C, get this book:
http://en.wikipedia.org/wiki/The_C_Programming_Language_%28book%29
I don't have a good book recommendation for C++, sorry.
If you can code in C or C++ and want to use the NDK, start here:
http://developer.android.com/sdk/ndk/index.html