Thursday, May 23, 2013

Android Inc History and Development

Brief History - Android :

  • Android Inc  was founded at Palo Alto in oct-2003 by Andy Rubin, Rich Miner , Nick Sears and Chris White to develop Operating System for Digital Cameras.
  • Later they diverted their efforts towards produce a smart phone operating system due to less market for digital cameras.
  • Google acquired 'Android Inc' on August-2005 .
  • On 2007 Google established a 'Open Handset Alliance (OHA)' , is a association of hardware , software, telecommunication companies to develop open standards for mobile operating system.
  • First commercially available phone to run on Android was 'HTC Dream' on 2008.

=========================================================

Environment - Android:

  • Android SDK 
  • Eclipse IDE 
  • Java SDK 

Android SDK setup : 

 

Sunday, May 19, 2013

Android Operating System Introduction and Architecture

Android Operating System:

  1. Android is a software stack for mobile devices which includes operating system , middle-ware and key applications.
  2. Android applications are written in Java Language.
  3. Android SDK has build in tools and libraries which necessary for Android development.
  4. Android operating system is Multi User Linux system. By default Linux assigns unique user id for each application. So one application data can't be shared to other application directly(i.e Isolated).
  5. Each application runs on his own process.

Android System Architecture:

Architecture consists of four layers .
  • Linux Kernel
  • Libraries - Android Runtime
  • Application Framework
  • Applications 
Now I am going to explain each and every layer in details :
Linux Kernel
  • Android architecture is based on Linux kernel 2.6.
  • Linux kernel provides Memory management, power management , process management , security model , networking etc...
Libraries and Android Runtime
  • Libraries are written in C and C++.
  • Surface Manager is responsible for composing different drawing surfaces on to the screen.
  • OpenGL/ES is a 3D graphics library.
  • SGL is for 2D graphics. Most of the application drawing is based on this library only.
  • Media Framework contains the entire codex that make up the core media experiences.
  • Free Type is to render fonts .This is a free , high-quality , portable font engine.
  • SQLite is for core data storage.
  • WebKit is a open source browser engine.(Same as safari on Apple)
  • Android Runtime includes core libraries that provides the most of the functionality available in the core libraries of Java.
  • Dalvik Virtual Machine is extremely low memory based virtual machine, designed for Android tow work well in low power situations.
  • Core Libraries contains all the collection classes, utilities , tools .
Application Framework:
  • Application framework written in java .
  • It is like a toolkit that all applications can use.
  • It has several components like Activity manager, Package Manager , Window manager , Telephony Manager , Content Provider , Location Manager, View System , Notification System.
Applications:
  • At the top of the architecture we have all the applications which are used by final user.
  • Apps developed by us also sits on this layer.