ChapterAT 1
ChapterAT 1
Mobile Programming
Introduction
Mobile Devices need some type of OS to run its services
OS:- a software platform on top of which other apps can
run on
Modern OS combines a PC with other mobile specific
features like Bluetooth, GPS, speech recognition,
video camera, infrared etc, so mobile OS had to grow to
support all these features. This results the growth of
technology
Some of the mobile operating systems are:
iOS:- Developed by Apple inc. and distributed exclusively
for Apple Hardware
Windows Phone:- A proprietary software Smartphone
OS developed by Microsoft
Android:- Developed by Open Handset Alliance (OHA),
Led by Google
Other OSs are: Symbian, BlackBerry, webOS
What is Android?
An open source mobile OS developed
by Google, based on the Linux kernel
It is designed primarily for touch
screen mobile devices such as smart
phones, tablets, mp4 players, TVs etc.
It is a software stack for mobile
devices that includes an operating
system, middleware and key
applications
Android SDK provides the tools and
APIs necessary to develop applications
History of Android
Initially, Andy Rubin founded Android Incorporation in
Palo Alto, California, United States in October, 2003.
In 17th August 2005, Google acquired android
Incorporation. Since then, it is in the subsidiary of
Google Incorporation.
Originally intended for camera but shifted to smart
phones later because of low market for camera
only.
Android is the nick name of Andy Rubin given by
coworkers because of his love to robots.
Google formed Open Handset Alliance (OHA) on 5th
November 2007.
OHA is a group of 84 technology and mobile companies who
have come together to accelerate innovation.
HTC Dream was the first Commercial Smartphone running
Android (T-Mobile 2008)
Android Versions
Date Version Code name API Level
September 23, 2008 1.0 No codename 1
February 9, 2009 1.1 Petit Four 2
April 27, 2009 1.5 Cupcake 3
September 15, 2009 1.6 Donut 4
October 26, 2009 2.0 - 2.1 Éclair 5-7
May 20, 2010 2.2 – 2.2.3 Froyo 8
December 6, 2010 2.3 – 2.3.7 Gingerbread 9 - 10
February 22, 2011 3.0 – 3.2.6 Honeycomb 11 - 13
October 18, 2011 4.0 – 4.0.4 Ice Cream Sandwich 14 - 15
July 9, 2012 4.1 - 4.3 Jelly Bean 16 - 18
October 31, 2013 4.4 - 4.4.4 KitKat 19-20
November 12, 2014 5.0 - 5.1.1 Lollipop 21-22
October 5, 2015 6.0 - 6.0.1 Marshmallow 23
August 22, 2016 7.0 -7.1.2 Nougat 24-25
August 21, 2017 8.0 Oreo 26-27
August 6, 2018 9.0 Pie 28
Android Architecture
Linux Kernel
Is the OS.
It is responsible for:
Memory Management:- allocate and free
memory for files
Power Management:- Provide power for various
devices such as Bluetooth, camera etc.
Resource Management:- provide resource for
each process and making it versatile.
Driver Management:- handle installations of
various drivers
Go to “About phone” or “About tablet” in
Android’s settings to find out the kernel
version
Middleware
Libraries:-
Used for interacting with low level media
components (programs written in some other
languages like C, C++, Assembly language which are
specific to hardware and operating system or native
application).
Example: WebKit library is responsible for browser
support, SQLite is for database, FreeType for font
support, Media for playing and recording audio and
video formats.
Application Framework:-
includes Android API's such as UI (User Interface),
telephony, resources, locations, Content
Providers (data) and package managers.
It provides a lot of classes and interfaces for
android application development
Android Runtimes:-
includes Dalvik Virtual Machine(DVM)
and Core Libraries which is responsible to
run android application
DVM is like JVM but it is optimized for mobile
devices. It consumes less memory and
provides fast performance.
Applications
is the top most layer of Android
Architecture.
All applications using android framework
uses android runtime and libraries,
while android runtime and native
libraries are using Linux Kernel.
Dalvik Virtual Machine(DVM)
.java file .dex file