14 MAY 2011 MVJ College Of Engineering Android Overview Badrinath Kulkarni Member, The Bangalore Android User Group [ B.A.U.G ] 1
Nov 20, 2014
14 MAY 2011 MVJ College Of Engineering
Android Overview
Badrinath Kulkarni
Member, The Bangalore Android User Group [ B.A.U.G ]
1
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 2
Open Handset Alliance(OHA)
• The Open Handset Alliance (OHA) is a business alliance of >79 firms for developing open standards for mobile 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 3
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 4
Architecture
14 MAY 2011 MVJ College Of Engineering 5
Applications
• All applications are written using the Java language.Ex : Email Client , SMS Program , Calendar, Browser , Contacts
Component Description
Activity UI component typically corresponding to a screen.E.g. Contacts: 3 activities: View contacts, Send message, Edit contact
Service Background process without UI.Ex : Messages can be sent/received , mp3 player
Content Provider Enables applications to share dataEx : Contacts are provided to all applications.
Broadcast Receiver Responds to external events, can wake up your processEx : Phone rings, network activity established, time controlled tasks
14 MAY 2011 MVJ College Of Engineering 6
Application Framework
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
14 MAY 2011 MVJ College Of Engineering 7
Libraries
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. (Now Stagefright)
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
14 MAY 2011 MVJ College Of Engineering 8
Android Runtime
9
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.
Dalvik Executable(.dex) •.dex format is optimized for minimal memory footprint.
14 MAY 2011 MVJ College Of Engineering 9
Linux Kernel
Relying on Linux Kernel 2.6 for core system services
Memory and Process Management
Network Stack
Driver Model
Security
Providing an abstraction layer between the H/W and the rest of the S/W stack
14 MAY 2011 MVJ College Of Engineering 10
Thank You!
11@ iBadrinath@ iBadrinath