Google Android Framework: Android Mobile Application Development

Android Application Development

Android is an open source software platform build by Google that includes an operating system, middleware, and applications for mobile devices.

Android stands on top of Linux for its core system services such as process management, security, memory management, and driver model. The Linux kernel acts as an abstraction layer between the hardware and the software. The Android SDK provides the tools and APIs that are necessary to develop applications on the Android platform.

Android being open source allows adopters to contribute proprietary value to its source. It offers developers the ability to build extremely rich and innovative applications. Developers have the freedom to derive advantage to access location information, run background services, set alarms, add notifications to the status bar, and add other features.

Application Framework

The application architecture contains a set of services and systems, such as:

  • Views: Provides basic building blocks of an application that includes lists, grids, text boxes, buttons etc.
  • Resource Manager: Provides functionality to localized strings, layout files, and graphics.
  • Content Provider: Shares its own data with other applications and accesses data from other applications too.
  • Notification Manager: Allows you to enable custom messages in the status bar for all applications to display.
  • Activity Manager: Provides control in managing the lifecycle of a mobile application

Android Runtime: Dalvik VM

The important component of Android system is the Dalvik Virtual Machine, its runtime environment. Every Android application runs its own process, with its own instance of the Dalvik virtual machine. Unlike the most popular runtime environment Java Virtual Machine, this virtual machine was designed only for Android and can run multiple VMs efficiently. However, it does use the Java language. The Dalvik VM executes programs in the Dalvik Executable (.dex) format, which is optimized for minimal memory support. The VM is register-based and runs classes compiled by a Java language compiler.

API and Library Support

Android contains a package of libraries to be used by the Android application framework. Some of the important libraries are:

  • SQLite – Manages relational database engine available to all applications
  • Surface Manager – Composites 2D and 3D graphics from multiple applications and controls access to the display subsystem
  • FreeType – Renders bitmap and vector font
  • System C library – a BSD-derived implementation of the C system library (libc), adapted for embedded Linux-based devices
  • Media Libraries – Supports recording and playback of popular audio and video formats as well as static images. Some of the support formats are MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.
  • LibWebCore – Supports Android browser with a backend engine.
  • SGL – Supports the backend 2D graphics engine

Author of this article is involved with mobile application development industry for last 3 years and completed more than 70 mobile application development including i-phone and Android mobile applications.

Leave a Reply