Date post: | 16-Jul-2015 |
Category: |
Education |
Upload: | saurabh-kukreja |
View: | 325 times |
Download: | 1 times |
ANDROID
ARCHITECTURE
Saurabh Kukreja
It’s Me
I am Saurabh Kukreja, Working as Mobile
Application Consultant from more than 3 years
.
I am also working as a co-founder of a startup
named as 4Edges, which is a service oriented
company, delivery various Software solutions
to our clients
Agenda
Evolution Of Mobile Phones
History Of Android
Architecture of android
Features
Application Component
Evolution
A robot with a human appearance
An open-source operating system used for
smartphones and tablets.
Android
History
Android Inc. was founded by: Andy Rubin
Rich Miner
Chris White
Nick Sears They thought of Developing an advanced OS for camera
but later switched to Mobile Operating Systems
Google acquired Android Inc. in August 2005.
OHA- Open Handset Alliance
The first commercially available smartphonerunning Android was the HTC Dream released on October 22, 2008.
Android Architecture
Android is a mobile operating system (OS) based on the Linux kernel and currently developed by Google.
Applications are developedfor low powered hand-helddevices, such as Phone,Tablets
Android is a complete stackof:
Operating System
Middleware SDK
Core Applications
Linux Kernel provides a level of abstraction
between the device hardware and the upper layers
of the Android software stack
Linux version 2.6.x for core system services like
memory management, process management,
security model, networking and lot of core OS
infrastructure
Linux Kernel
All These libraries are written in C/C++
Libc: c standard library
SSL: Secure Socket Layer
Surface Manager: Responsible for composing different drawing surfaces onto the
screen.
Open GL and SGL are graphic Libraries OpenGL|ES : 3D Image Engine
SGL : 2D image Engine.
Hence we can combine 3D and 2D graphics in the same application.
Media Framework : Core part of the android multimedia.
MPEG4,MP3,…
FreeType: To render the fonts.
WebKit:Open source browser engine. Helps to work well on small screen.
SQLite: Embedded Database
Libraries
Android Runtime
Android runtime meet the needs of Android running in an embedded environment ,i.e., where is limited battery, limited Memory and limited CPU.
Android Runtime consists of Dalvik Virtual machine and Core Java libraries.
CORE LIBRARIES:
Java Programming Language contains all the collection classes, utilities, IO..all these utilities which you come across and expected to use.
DALVIK VIRTUAL MACHINE application code must be transformed from standard Java class files to the Dalvik
executable (.dex) format, which has a 50% smaller memory footprint than standard Java bytecode
Each Android application simply runs as a process directly on the Linux kernel, each application running on an Android device does so within its own instance of the Dalvik virtual machine (VM).
applications are essentially sandboxed
enforced level of abstraction makes applications platform neutral in that they are never tied to any specific hardware.
Application Framework
Our applications directly interact with these blocks of the Android architecture. These programs manage the basic functions of phone like resource management, voice call management etc.
Important blocks of Application Framework:
Activity Manager: Manages the activity life cycle of applications.
Content Providers: Manage the data sharing between applications.
Telephony Manager: Manages all voice calls. We use telephony manager if we want to access voice calls in our application.
Location Manager: Location management, using GPS or cell tower
Applicatios
Application Component
Activities
They dictate the UI and handle the user interaction to the smartphone screen
Services
They handle background processing associated with an application.
Intent Receivers/Broadcast Receivers
Respond to notification or status changes. Can wake up your process
Content Providers
They handle data and database management issues.
Features
Beautiful UI
Android OS basic screen provides a beautiful and intuitive user interface.
Connectivity
GSM/EDGE, Bluetooth, Wi-Fi, NFC.
Storage SQLite
A lightweight relational database, is used for data storage purposes.
Media support
MPEG-4, MP3, MIDI, WAV, JPEG, PNG, GIF, and BMP
Messaging
SMS and MMS
Web browser
Based on the open-source WebKit layout engine, coupled with Chrome's V8 JavaScript engine supporting HTML5 and CSS3.
Multi-touch
Android has native support for multi-touch which was initially made available in handsets such as the HTC Hero.
Multi-tasking
User can jump from one task to another and same time various application can run simultaneously.
Resizable widgets
Widgets are resizable, so users can expand them to show more content or shrink them to save space
GCM
Google 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.
Versions
Name Version API Level
Alpha 1.0 1
Beta 1.1 2
CupCake 1.5 3
Donut 1.6 4
Eclair 2.0-2.1 5-7
Froyo 2.2-2.2.3 8
Gingerbread 2.3-2.3.7 9-10
Honeycomb 3.0-3.2.6 11-13
Icecream Sandwich 4.0-4.0.4 14-15
JellyBean 4.1-4.3.1 16-17-18
Kitkat 4.4-4.4.4 19-20
Lollipop 5.0-5.0.2 21
Evolving Trends
Android Wear
Android Wear extends the Android platform to a
new generation of devices
Small, powerful devices, worn on the body.
Useful information when you need it most.
Intelligent answers to spoken questions. Tools to
help reach fitness goals.
Android TV
Bring your apps, games, and content to the
biggest screen in the house.
Running the Android 5.0 ("Lollipop") operating
system
Users will have access to theGoogle Play Store to
download Android apps
Android Auto
To be operated in automobiles through
the dashboard's head unit.
The standard will offer drivers control over
GPS mapping/navigation
music playback
SMS
Telephony
web search