1. 14 MAY 2011 MVJ College Of Engineering Android Overview Badrinath Kulkarni Member, The Bangalore Android User Group [ B.A.U.G ]
2. What is Android ?
Android is a software stack for mobile devices that includes an operating system, middleware and key applications.
It is an open-source project from
Open Handset Alliance(OHA) led by Google.
Source at -http://android.git.kernel.org/ 14 MAY 2011 MVJ College Of Engineering 3. Open Handset Alliance(OHA)
The Open Handset Alliance ( OHA ) is abusiness allianceof>79 firms for developingopen standardsformobile devices.
The OHA was established on 5 November 2007, led by Google.
OHA includes mobile handset makers, application developers, mobile carriers and chip makers.
Android, the flagship software of the alliance, is based on an open source license and competes against mobile platforms from Apple, Microsoft, Nokia, Palm, Research In Motion, Symbian, and Bada.
14 MAY 2011 MVJ College Of Engineering 4. History
July 2005 :Google acquired Android Inc.
5 Nov 2007 :
Open Handset Alliance formed-Google, HTC, Intel, Motorola, Qualcomm , T-Mobile etc.
Android is the first product of OHA.
12 Nov 2007 :OHA released a preview of the Android OHA
14 MAY 2011 MVJ College Of Engineering 5. Architecture 14 MAY 2011 MVJ College Of Engineering 6. Applications
All applications are written using the Java language.
Ex : Email Client , SMS Program, Calendar, Browser , Contacts
14 MAY 2011 MVJ College Of Engineering Component Description Activity UI component typically corresponding to a screen. E.g. Contacts: 3 activities: View contacts, Send message, Edit contactService Background process without UI. Ex :Messages can be sent/received , mp3 player Content Provider Enables applications to share data Ex :Contacts are provided to all applications. Broadcast ReceiverResponds to external events, can wake up your process Ex :Phone rings, network activity established, time controlled tasks 7. Application Framework 14 MAY 2011 MVJ College Of Engineering Feature Role View System Used to build an application, including lists, grids, textboxes, buttons, and embedded web browser Content Provider Enabling applications to access data from other applications or to share their own data Resource Manager Providing access to non-code resources (localized string, graphics, and layout files) Notification Manager Enabling all applications to display customer alerts in the status bar 8. Libraries 14 MAY 2011 MVJ College Of Engineering Library Description System C library A BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices Media Libraries Based on Packet Video's Open CORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG. (NowStagefright ) Surface Manager It manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications LibWebCore A modern web browser engine which powers both the Android browser and an embeddable web view SGL The underlying 2D graphics engine 3D libraries An implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software FreeType A bitmap and vector font rendering SQLite A powerful and lightweight relational database engine available to all applications 9. Android Runtime 14 MAY 2011 MVJ College Of Engineering Library Description Core library Provides most of the functionality available in the core libraries of the Java language. APIs : Data Structures , Utilities , File Access , Network Access , Graphics , Etc Dalvik Virtual Machine ( DVM )
Register-based virtual machine
Providing environment on which every Android application runs
Each Android application runs in its own process, with its own instance of the DVM.
Dalvik has been written so that a device can run multiple VMs efficiently.
.dexformat is optimized for minimal memory footprint.
10. Linux Kernel
Relying on Linux Kernel 2.6 for core system services
Memory and Process Management
Providing an abstraction layer between the H/W and the rest of the S/W stack
14 MAY 2011 MVJ College Of Engineering 11. Thank You! @ iBadrinath