I will quote some text from the core android website to show what are the things that android comprises of:
- System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices
- Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
- Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications
- LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view
- SGL - the underlying 2D graphics engine
- 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer
- FreeType - bitmap and vector font rendering
- SQLite - a powerful and lightweight relational database engine available to all applications
But the main programming language that we use to develop android is Java. I would recommend to master java to a certain extent before coming to android because almost all of the tutorials and documentation of android assumes that you are good at java and they will talk to you like you know java.
There are still no phone sets that support android, but still you can feel the tension in the market for android. Why, is it only because of the notion that Google brings to each and every product they release? Or anything else...lets see....