Android
What is Android?
Android is a Linux
based operating
system for mobile
devices
It is developed by
Google and later the
OHA (Open Handset
Alliance
The goal of android project
is to create a real-world
product that improves the
mobile experience for end
users
Open Handset Alliance (OHA)
It's a consortium of 84 companies such as
1.0 - Angel Cake released in 2008
1.1 - Battenberg released in Feb 2009
1.5 - Cupcake released in April 2009
1.6 - Donut released in Sept 2009
2.0 - Eclair released in 26 October 2009
2.2 - Froyo released in the summer of 2010
2.3 - Gingerbread released in the end of 2010
Cond…
3.0 - Honeycomb released in 2011 , This
version focused on tablets
4.0 - Ice Cream Sandwich released in 2012
4.1 - Jelly bean released in first of 2013
4.4 - Kit Kat released Oct 2013
5.0 - Lollipop
Android in TV
Android Hardware Interfacing
Android in Watch
Android in Set top box
Android in Music Player
Architecture
Copyright protected © Payoda
Technologies 11
Linux Kernal
• Device drivers
• Memory management
• Process management
• Networking
Copyright protected © Payoda
Technologies 12
Libraries
• C/C++ libraries
• Interface through Java
• Surface Manager – Handling UI Windows
• OpenGL - 2D and 3D Graphics
• Media Codec’s, SQLite, Browser Engine
Copyright protected © Payoda
Technologies 13
Android Runtime
• Dalvik VM
– Dex files
– Compact and efficient than class files
– Limited memory and battery power
• Core Libraries
– Java 5 Std edition
– Collections, I/O etc…
Copyright protected © Payoda
Technologies 14
Application Framework
• API interface
• Activity manager – manages application life cycle.
Copyright protected © Payoda
Technologies 15
Android applications are
compiled to Dalvik bytecode
Write app in Java
Compiled in Java
Transformed to Dalvik bytecode
Loaded into Dalvik VM
Linux OS
The Dalvik runtime is optimised for mobile applications
Run multiple VMs efficiently
Each app has its own VM
Minimal memory footprint
Pillars of Android
Activity
Service
Broadcast receiver
Content Provider
Intent
Copyright protected © Payoda
Technologies 18
Activity
An activity is a single, focused thing that the user can
do
Copyright protected © Payoda
Technologies 19
Service
A Service is an application component representing
either an application's desire to perform a longer
running operation while not interacting with the user or
to supply functionality for other applications to use.
Copyright protected © Payoda
Technologies 20
Broadcast receiver
A broadcast receiver is a component that
responds to system-wide broadcast
announcements.
Many broadcasts originate from the system—for
example, a broadcast announcing that the screen
has turned off, the battery is low, or a picture was
captured.
Applications can also initiate broadcasts—for
example, to let other applications know that some
data has been downloaded to the device and is
available for them to use.
Copyright protected © Payoda
Technologies 21
Content Provider
A content provider manages a shared set of
application data.
You can store the data in the file system, an
SQLite database, on the web, or any other
persistent storage location your application can
access.
Copyright protected © Payoda
Technologies 22
Intent
An intent is an abstract description of an
operation to be performed.
It can be used with startActivity to launch
an Activity, broadcastIntent to send it to any
interested BroadcastReceiver components,
and startService(Intent) or
bindService(Intent, ServiceConnection, int)
to communicate with a background Service.
Explicit Intents have specified a
component which provides the exact class
to be run. Often these will not include any
Copyright protected © Payoda
Technologies 23
Do you want to be a
Android Developer?
Copyright protected © Payoda
Technologies 24
Thank You!!!
Copyright protected © Payoda
Technologies 25