Android
Introduction
Platform Overview
1
The Maturing Mobile
Experience
Tomorrow?
The Maturing Mobile
Experience
Android vs. Competitors
What is Android?
Android is a software
stack for mobile devices
that includes an
operating system,
middleware and key
applications.
5
Android Versions
Codename Version Released API Level
Android History
Honeycomb 3.0 - 3.2.6 Feb 2011 11 - 13
and
Platform Versions
Ice Cream 4.0 - 4.0.4 Oct 2011 14 - 15 for more and
Sandwich
earlier versions
Jelly Bean 4.1 - 4.3.1 July 2012 16 - 18
before 2011
KitKat 4.4 - 4.4.4 Oct 2013 19 - 20
Lollipop 5.0 - 5.1.1 Nov 2014 21 - 22
Marshmallow 6.0 - 6.0.1 Oct 2015 23
Nougat 7.0 Sept 2016 24
6
OHA (Open Handset
Alliance)
A business alliance consisting of 47
companies to develop open standards
for mobile devices
7
Phones
HTC G1,
Droid, Motorola Droid (X)
Tattoo
Suno S880 Samsung Galaxy Sony Ericsson
8
Tablets
Velocity Micro Cruz Gome FlyTouch Acer beTouch
Toshiba Android Cisco Android Tablet
Dawa D7 SmartBook
9
Architecture
10
Android S/W Stack -
Application
Android provides a set of core applications:
Email Client
SMS Program
Calendar
Maps
Browser
Contacts
Etc
All applications are written using the Java language.
11
Android S/W Stack –
App Framework
Enabling
and simplifying the reuse of
components
Developers have full access to the same
framework APIs used by the core applications.
Users are allowed to replace components.
12
Android S/W Stack –
App Framework (Cont)
Features
Feature Role
View Used to build an application, including lists, grids, text
System boxes, buttons, and embedded web browser
Content Enabling applications to access data from other
Provider applications or to share their own data
Resource Providing access to non-code resources (localized strings,
Manager graphics, and layout files)
Notification Enabling all applications to display customer alerts in the
Manager status bar
Activity Managing the lifecycle of applications and providing
Manager a common navigation backstack
13
Android S/W Stack -
Libraries
Including a set of C/C++ libraries used by
components of the Android system
Exposed to developers through the Android
application framework
14
Android S/W Stack -
Runtime
Core Libraries
Providing most of the functionality available in
the core libraries of the Java language
APIs
Data Structures
Utilities
File Access
Network Access
Graphics
Etc 15
Android S/W Stack –
Runtime (Cont)
Dalvik Virtual Machine
Providing environment on which every Android
application runs
Each Android application runs in its own process,
with its own instance of the Dalvik VM.
Dalvik has been written such that a device can run
multiple VMs efficiently.
Register-based virtual machine
16
Android S/W Stack –
Runtime (Cont)
Dalvik Virtual Machine (Cont)
Executing the Dalvik Executable (.dex) format
.dex format is optimized for minimal memory
footprint.
Compilation
Relying on the Linux Kernel for:
Threading
Low-level memory management
17
compiled to Dalvik
bytecode
Write
Write app
app in
in Java
Java
Compiled
Compiled in
in Java
Java
Transformed
Transformed to
to Dalvik
Dalvik bytecode
bytecode
Loaded
Loaded into
into Dalvik
Dalvik VM
VM
Linux OS
Bruce Scharlau, University of Aberdeen,
Android S/W Stack – 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
19
Android Studio
● Official Android IDE
● Develop, run, debug,
test, and package
apps
● Monitors and
performance tools
● Virtual devices
● Project views
● Visual layout editor
20
21
Step1
My Application
22
Step2
23
Step3
24
Step4
25
Step4 Conti………
26
Step5
(Text view of Activity_main.xml)
27
AVD(Android Virtual
Device)
28
New ADV
29
Android Emulator
30