Introduction About Android
Android is hailed as "the first complete, open, and free mobile platform". Android is a software stack for mobile devices and its including also operating system, middleware and key applications. The much anticipated Android 1.5 SDK release is scheduled to be released in late April 2009. The Android Software Development Kit (SDK) provides the APIs and tools for developing applications for the Android platform by using the Java programming language.
Features
- Application frame work provides the facility to reuse and replacement of the components
- A virtual machine optimized for mobile devices that was designed and written by Dan Bornstein and other Google engineers. Dalvik is a part of the software stack that makes up the Android platform.
- Integrated browser on the open source Webkit engine. WebKit is an open source web browser engine. WebKit is also the name of the Mac OS X system framework version of the engine that's used by Safari, Dashboard, Mail, and many other OS X applications.
- 2D and 3D graphics APIs with HW.
- SQLite for structural data, where SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. The source code for SQLite is in the public domain.
- A large number of media files (audio, video and different-different image formats etc) are supported.
- Bluetooth, 3G,GSM ,EDGE, Camera, GPS, Compass etc are hardware dependent.
- Android provides a rich development environment because it provides an emulator, tools for debugging, memory and performance profiling and a plugin for Eclipse.
Android architecture
What are Applications
Android supports all the core applications which are written in Java. For example
SMS program, calendar, browser, contact etc. These are written in Java so it supported by the Android SDK.
What is Application Framework
Android provides an open development platform. And it provides the facility to build extremely rich and innovative applications. The Android SDK provides many advantages to a developer such as device hardware, access locations information, run background service, set alarm and add notification to the status bar. Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user.
Use of Libraries tools
Android includes a large number of libraries. Some of the core library is listed following. This is one of the features for exposing the capability of the developer.
- System C library - Android includes a set of C/C++ libraries.
- Media Libraries - this library is useful for playing and recording many audio and video formats and also including the image file formats MPEG4, H.264, MP3, AAC, AMr, JPG and PNG.
- Surface Manager - this library is used to manage the display system and unlimited composites 2d and 3D graphics layers for multiple applications.
- SGL - This library is used as a 2D graphics engine.
- 3D Libraries -These are used to control 3D graphic image and video etc. And its implementation is based on OpenGL ES 1.0 APIs, libraries use either 3D accelerations or 3D software rasterizer.
- FreeType and SQLite are also included in libraries where FreeType is used to bitmap and vector font rendering and the SQLite is used to store the data to all applications.
Android Runtime Environment
The Android Runtime contains two things; they are core libraries and Dalvik Virtual machine. The core libraries that provide most of the functionality is available in the core Java APIs. Every Android application process runs in its own process with a own instance of Davlik virtual machine. Dalvik VM is allow to create multiple instance easily. The Devlik executes all files having the Delvik Executable (.dex) formats which are an optimized minimal memory footprint. All the Java compile files (.class files) are converted to the .dex format by including then with the "dx" tool.
Linux Kernel
You know that kernel is one of the programs which is run every time in a system and it provides a hardware interaction to the software; it is also said that the kernel provides a platform to run any software. Android relies on Linux version 2.6 for the core system services such as security, memory management, process management, network stack, and driver model.
Resources
Create OpenGL Mono For Android Application
Working With Text Controls in Mono for Android
RelativeLayout in Android Using Visual Studio 2010
Passing Data From One Activity to Another Activity in Android