Android is an open source development platform for mobile phones based on Linux, created by Google and Open Handset Alliance. The latest release of Android is 2.3. As a developer you won’t interact with Linux directly, instead you would use the Android application framework (android apis and sdk) for creating applications.
Android applications are written in the Java language, but compiled and converted into the compact Dalvik Executable (.dex) format, which runs on a non JMV environment (known as Dalvik VM). The Davlik VM is optimized for constraints environments like mobile phones and tablets. The core Java libraries provided by Android are different from Java library (Java SE and Java ME), although there are significant overlap with the standard Java library, so you can program with familiar Java APIs.
Following shows the layered architecture model for android
- Application and widgets: – These are end user applications like contacts or web browsers or any custom application developed by a vendor which is available for the user.
- Application framework: – Application framework provides the high level APIs that you would use to create an android application. All Android applications follow a life cycle and runs it in its own VM.
- Android Runtime: – The Android runtime consist of Dalvik VM and core Java libraries.
- Native Libraries – Native Libraries are codes written in native code languages like c and c++ and compiled for a particular mobile hardware device.
- Linux Kernel – Android uses Linux internally as the operating system and all operating system functions like power management, wifi and so on.
“The future would be mobile in coming years and I bet on Android to be the leading operating systems for all devices. “
In next blog , I will continue my ongoing blog and describe how to install the android sdk on the eclipse environment , followed by a sample android application.