Since monday we started discovering what’s on Android, the system, the applications, the architecture … etc. It was important to know what’s already on Android to develop better applications for the system. In short, Android is running on a linux kernel and using Dalvik as Java Virtual Machine. Android features include :
The application Framework enable Android application to reuse and replace existent components. The Framework include Activity Manager, Window manager, Content providers, View system, notification manager, package manager, telephony manager, resource manager, location manager and XMPP service.
Android system is based on set of C/C++ libraries used by various components of the Android system. Core libraries include :
- 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
Dalvik Virtual Machine
Dalvik is the Java Virtual Machine that power Android systems, optimized for mobile phones, owned by google, and best of all going to be open sourced ! Dalvik executes files in the .dex format optimized for minimal footprint. The system itself is optimized to run multiple Dalvik VMs efficiently.
The current SDK released came with a set of applications including Home, browser (based on webkit), contacts manager, Phone application, Maps, XMPP client, and according to documentation there will be also sms application, calendar and many others. I bet there will be other basic applications by Google such notes application, some games … etc, but the big job is left here for developers who will participate in the challenge.
Android SDK, released this monday is defintely the best development environnement for Android applications. A plugin for eclipse is available to help coding, debugging, memory and performance profiling, in addition to the device emulator to see your application running live in Android before to see it on real handsets.
Some others Android’s Technical features
- Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification
- Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
- GSM Telephony
- Bluetooth, EDGE, 3G, and WiFi
- Camera, GPS, compass, and accelerometer
Be sure to check Android documentation to learn more about this new technology.