MIRPUR UNIVERSITY OF SCIENCE AND TECHNOLOGY (MUST), MIRPUR
DEPARTMENT OF COMPUTER SCIENCE & INFORMATION TECHNOLOGY
Mobile Application Development
BIT-2422
Lecture 04 : Android OS
Miss Ujala Siddique Ch
Lecturer
Date: May 08, 2020
Contents
In this lecture we are going to understand the following concepts
• Introduction to Android
• Features of Androids
• Android Applications
• History of androids
• Android Architecture
Mobile Application development 3
Android
• Android is an open source and Linux-based Operating System for
mobile devices such as smartphones and tablet computers.
• Android was developed by the Open Handset Alliance, led by Google,
and other companies.
• Android offers a unified approach to application development for
mobile devices which means developers need only develop for Android,
and their applications should be able to run on different devices
powered by Android.
Mobile Application development 4
Android
• The first beta version of the Android Software Development Kit (SDK) was
released by Google in 2007 where as the first commercial version, Android
1.0, was released in September 2008.
• On June 27, 2012, at the Google I/O conference, Google announced the
next Android version, 4.1 Jelly Bean. Jelly Bean is an incremental update,
with the primary aim of improving the user interface, both in terms of
functionality and performance.
Mobile Application development
Why Android?
Mobile Application development
Features of Android
Android is a powerful operating system competing with Apple 4GS and supports great features.
Few of them are listed below −
• Beautiful UI
• Connectivity
• Storage
• Media support
• Messaging
• Web browser
• Multi touch
• resizable widgets
• Multi language
• Wi-Fi direct
Mobile Application development 7
Android Applications
• Android applications are usually developed in the Java language using the
Android Software Development Kit.
• Once developed, Android applications can be packaged easily and sold out
either through a store such as Google Play, SlideME, Opera Mobile
Store, Mobango, F-droid and the Amazon Appstore.
• Android powers hundreds of millions of mobile devices in more than 190
countries around the world. It's the largest installed base of any mobile
platform and growing fast. Every day more than 1 million new Android
devices are activated worldwide.
Mobile Application development
Categories of Android applications
• There are many android applications in the market. The top categories are
Mobile Application development
History of android
• The code names of android ranges from A to P currently, such as Aestro,
Blender, Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice
Cream Sandwitch, Jelly Bean, KitKat, Lollipop and Marshmallow. Let's
understand the android history in a sequence.
Mobile Application development
Mobile Application development
Android
Android IDEs
There are so many sophisticated Technologies are available to develop
android applications, the familiar technologies, which are predominantly
using tools as follows
• Android Studio
• Eclipse IDE(Deprecated)
Mobile Application development
Android architecture
Components of Android Architecture
The main components of Android architecture are the following:-
• Applications
• Application Framework
• Android Runtime
• Platform Libraries
• Linux Kernel
Mobile Application development
Android architecture
Mobile Application development
Android architecture
Applications
• Applications is the top layer of android architecture.
• The pre-installed applications like home, contacts, camera, gallery etc and
third party applications downloaded from the play store like chat
applications, games etc. will be installed on this layer only.
• It runs within the Android run time with the help of the classes and
services provided by the application framework.
Mobile Application development
Android architecture
Application framework
• Application Framework provides several important classes which are used
to create an Android application.
• It provides a generic abstraction for hardware access and also helps in
managing the user interface with application resources. G
• Generally, it provides the services with the help of which we can create a
particular class and make that class helpful for the Applications creation.
• It includes different types of services activity manager, notification
manager, view system, package manager etc. which are helpful for the
development of our application according to the prerequisite.
Mobile Application development
Android architecture
Application runtime
• Android Runtime environment is one of the most important part of Android.
It contains components like core libraries and the Dalvik virtual
machine(DVM).
• Mainly, it provides the base for the application framework and powers our
application with the help of the core libraries. Like Java Virtual Machine
(JVM), Dalvik Virtual Machine (DVM) is a register-based virtual machine and
specially designed and optimized for android to ensure that a device can run
multiple instances efficiently.
• It depends on the layer Linux kernel for threading and low-level memory
management. The core libraries enable us to implement android applications
using the standard JAVA or Kotlin programming languages.
Mobile Application development
Android architecture
Platform libraries
The Platform Libraries includes various C/C++ core libraries and Java based
libraries such as Media, Graphics, Surface Manager, OpenGL etc. to provide a
support for android development.
• Media library provides support to play and record an audio and video formats.
• Surface manager responsible for managing access to the display subsystem.
• SGL and OpenGL both cross-language, cross-platform application program
interface (API) are used for 2D and 3D computer graphics.
• SQLite provides database support and FreeType provides font support.
• Web-Kit This open source web browser engine provides all the functionality to
display web content and to simplify page loading.
• SSL (Secure Sockets Layer) is security technology to establish an encrypted link
between a web server and a web browser.
Mobile Application development
Android architecture
Linux Kernel
• Linux Kernel is heart of the android architecture. It manages all the available
drivers such as display drivers, camera drivers, Bluetooth drivers, audio drivers,
memory drivers, etc. which are required during the runtime. The Linux Kernel
will provide an abstraction layer between the device hardware and the other
components of android architecture. It is responsible for management of
memory, power, devices etc. The features of Linux kernel are:
• Security
• Memory Management
• Process Management:
• Network Stack
• Driver Model:
Mobile Application development
Mobile Application development
THANKS