Sunday 11 January 2015

Android Architecure

Android architecture or Android software stack is categorized into five parts:
  1. linux kernel
  2. native libraries (middleware),
  3. Android Runtime
  4. Application Framework
  5. Applications
Let's see the android architecture first.
android software stack, architecture

1) Linux kernel

It is the heart of android architecture that exists at the root of android architecture. Linux kernel is responsible for device drivers, power management, memory management, device management and resource access.

2) Native Libraries

On the top of linux kernel, their are Native libraries such as WebKit, OpenGL, FreeType, SQLite, Media, C runtime library (libc) etc.
The WebKit library is responsible for browser support, SQLite is for database, FreeType for font support, Media for playing and recording audio and video formats.

3) Android Runtime

In android runtime, there are core libraries and DVM (Dalvik Virtual Machine) which is responsible to run android application. DVM is like JVM but it is optimized for mobile devices. It consumes less memory and provides fast performance.

4) Android Framework

On the top of Native libraries and android runtime, there is android framework. Android framework includes Android API's such as UI (User Interface), telephony, resources, locations, Content Providers (data) and package managers. It provides a lot of classes and interfaces for android application development.

5) Applications

On the top of android framework, there are applications. All applications such as home, contact, settings, games, browsers are using android framework that uses android runtime and libraries. Android runtime and native libraries are using Linux kernel.

Android Core Building Blocks

android components      
An android component is simply a piece of code that has a well defined life cycle e.g. Activity, Receiver, Service etc.
The core building blocks or fundamental components of android are activities, views, intents, services, content providers, fragments and AndroidManifest.xml.

Activity

An activity is a class that represents a single screen. It is like a Frame in AWT.

View

A view is the UI element such as button, label, text field etc. Anything that you see is a view.

Intent

Intent is used to invoke components. It is mainly used to:
  • Start the service
  • Launch an activity
  • Display a web page
  • Display a list of contacts
  • Broadcast a message
  • Dial a phone call etc.
For example, you may write the following code to view the webpage.

Service

Service is a background process that can run for a long time.
There are two types of services local and remote. Local service is accessed from within the application whereas remote service is accessed remotely from other applications running on the same device.

Content Provider

Content Providers are used to share data between the applications.

Fragment

Fragments are like parts of activity. An activity can display one or more fragments on the screen at the same time.

AndroidManifest.xml

It contains informations about activities, content providers, permissions etc. It is like the web.xml file in Java EE.

Android Virtual Device (AVD)

It is used to test the android application without the need for mobile or tablet etc. It can be created in different configurations to emulate different types of real devices.

Monday 17 December 2012

ANDROID FEATURES

  • Storage: uses SQLite (a lightweight RDBMS) & file handling for data storage.

  • Connectivity: Supports GSM/EDGE, CDMA, UMTS, HSPA, Bluetooth, WiFi, LTE & WiMAX.

  • Messaging: Supports SMS & MMS.

  • Web Browser: based on the open-source WebKit.

  • Media Support: H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF & BMP.

  • Hardware Support: Accelerometer Sensor, Camera, Digital Compass, Proximity Sensor & GPS.

  • Multi-touch

  • Multi-tasking

  • Flash support: Android 2.3 onwards versions support Flash 10.1

  • Tethering: Supports sharing of Internet connections as a wired / wireless hotspot.

Thursday 6 December 2012

Android Introduction

WHAT IS ANDROID?

  •  Android is a mobile Operating System.

  •  Based on a modified version of Linux.

  •  Was originally developed by Android Inc. in 2005 before Google purchased it.

  •  Android is open & free : so most of the Android code was released under the open-source Apache License.

  •  Vendors can freely download the Android source code but need to add their own proprietary extensions to the software & customize it to differentiate their products from others.

  •  For Android developers, a unified approach to application development is offered : developers only need to develop for Android, and their applications should be able to run on numerous devices.

  •  Scale of Android is huge… Google activates One Million Android devices every day (as on June 27th 2012)!

     

    ANDROID VERSIONS