Android

Android is an open source and Linux-based operating system for mobile devices.
Android offers a unified approach to application development for mobile devices.
The first beta version of the Android Software Development Kit (SDK) was released by Google in 2007 where as the first commercial version, Android 1.0, was released in September 2008.

Features of Android

FeatureDescription
Beautiful UIAndroid OS basic screen provides a beautiful and intuitive user interface.
ConnectivityGSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX.
StorageSQLite, a lightweight relational database, is used for data storage purposes.
Media supportH.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP
MessagingSMS and MMS
Web browserBased on the open-source WebKit layout engine, coupled with Chrome's V8 JavaScript engine supporting HTML5 and CSS3.
Multi-touchAndroid has native support for multi-touch which was initially made available in handsets such as the HTC Hero.
Multi-taskingUser can jump from one task to another and same time various application can run simultaneously.
Resizable widgetsWidgets are resizable, so users can expand them to show more content or shrink them to save space
Multi-LanguageSupports single direction and bi-directional text.
GCMGoogle Cloud Messaging (GCM) is a service that lets developers send short message data to their users on Android devices, without needing a proprietary sync solution.
Wi-Fi DirectA technology that lets apps discover and pair directly, over a high-bandwidth peer-to-peer connection.
Android BeamA popular NFC-based technology that lets users instantly share, just by touching two NFC-enabled phones together.

Android applications are usually developed in the Java language using the Android Software Development Kit.

you will need before you start your Android application programming.

  • Java JDK5 or JDK6
  • Android SDK
  • Eclipse IDE for Java Developers (optional)
  • Android Development Tools (ADT) Eclipse Plugin (optional).

    Android SDK from Android official website : http://developer.android.com/sdk/index.html

 

Android Architecture

Android operating system is a stack of software components which is roughly divided into five sections and four main layers as shown below in the architecture diagram.

 
 Android Architecture

Linux kernel:

kernel handles all the things that Linux is really good at such as networking and a vast array of device drivers

Libraries

On top of Linux kernel there is a set of libraries including open-source Web browser engine WebKit, well known library libc, SQLite database

Android Runtime

Dalvik Virtual Machine which is a kind of Java Virtual Machine specially designed and optimized for Android.
The Android runtime also provides a set of core libraries which enable Android application developers to write Android applications using standard Java programming language.

Android Application Components

There are following four main components that can be used within an Android application:
ComponentsDescription
ActivitiesThey they dictate the UI and handle the user interaction to the smartphone screen
ServicesThey handle background processing associated with an application.
Broadcast ReceiversThey handle communication between Android OS and applications.
Content ProvidersThey handle data and database management issues.



Comments