1. TERM PAPER
ON
TITLE : ANDROID ARCHITECTURE AND WORKING
ABSTRACT
Android is the most commonly used mobile software operating system. It consists of an
operating system, middleware, and key applications.
It is an Linux based software platform and was developed by Google and Open Handset
Alliance. It is an open source platform which allows its users and developers with a freedom to
access and customize their devices fully.
It initiates innovation among its users and allows them to develop their own apps. The software
has been coded in C, C++, and java language. It is regulated by Google Java libraries .
2. CONTENTS
INTRODUCTION
WHAT IS ANDROID?
NASCENCY OF ANDROID
INTERNATIONAL AND NATIONAL STATUS
DISCUSSION
ARCHITECTURE OF ANDROID
LINUX KERNEL
NATIVE LIBRARIES
ANDROID RUNTIME
APPLICATION FRAMEWORK
APPLICATIONS
ANDROID CORE BUILDING BLOCKS
ACTIVITY
VIEW
INTENT
SERVICE
CONTENT PROVIDER
FRAGMENT
ANDROIDMANIFEST.XML
ANDROID VIRTUAL DEVICE
DRAWBACKS OF ANDROID
COMPARISON WITH IOS
FUTURE POSSIBILITIES
REFRENCES
3. INTRODUCTION
WHAT IS ANDROID?
Android is a software platform and more specifically an operating system designed for touch
screen devices like smartphones, tablets, etc. It was built by GOOGLE and it is based on the
Linux Kernel.
ANDROID is based on a small stable set of core primitives and that allows a common
programming model across a really diverse range of devices from phones ,tablets to tv’s and
more.
The user interface of android is exclusively based on direct manipulation such as using touch
gestures that correspond to the real world actions namely swiping, tapping and pinching. In
addition to smartphones Google has further developed Android TV for televisions , Android Auto
for cars and Android wear for wrist watches.
Android facilitates a rich application framework that allows us to build innovatve apps and
games for mobile devices . It shares a common goal of nurturing innovation on mobile devices
and providing users a far better experience than what is available on today’s mobile platforms.It
provides the developers a new level of openness that helps them to work in a more
collaborative way .
NASCENCY OF ANDROID
Android was founded in California in October 2003 by Andy Rubin, Rich Miner, Nick Sears,
and Chris White. The Android project described by Rubin was "tremendous potential in
developing smarter mobile devices that are more aware of its owner's location and
preferences".
At that time, very little was known about the functions of Android Inc. Other than the
manufacture of softwares for mobile phones. At Google the team led by Rubin, they developed
a Linux based operating system for mobile phones and then marketed them to the handset
makers on the basis of providing a flexible and upgradable system.
The applications which further provide the functionalities to the devices are written using the
Android Software Development kit and often with Java, C, C++ languages. Android is very
user friendly as it also provides every device manufacturer with a freedom that they can
customize android to suit their needs .
In this report i would emphasize much on the architecture and working of android and derive a
comparison between android and rival mobile software operating systems such as iOS working
presently.
4. INTERNATIONAL AND NATIONAL STATUS
Talking about it’s status ,it has been found that every day to an approximate more than one
million android devices are activated worldwide.
GOOGLE announces major updates to android versions on yearly basis. The latest major
release is 7.0 “Nougat” released in August 2016.
Android’s openness has made it popular among consumers and developers . It’s users
download more than 1.5 billion apps and games from GOOGLE PLAY STORE every month.
Compared to android’s primary rival Apple’s iOS it’s updates reach various devices with certain
significant delays which is partly due to the extensive differences in the hardware of android
devices.
Accompanied by its partners , Android is continuously moving forward ,opening new doors and
doing new things in improving its hardware and software in order to bring new capabilities to
users and developers.
It’s previous versions include android jelly bean, kitkat , lollipop, marshmellow and recently
released Nougat version.
5. DISCUSSION
ARCHITECTURE OF ANDROID
Android is an open source, Linux based mobile software stack. It’s various components are :
THE LINUX KERNEL
Linux kernel is the basic building block of the android platform. Kernel in operating system can
be defined as a program which controls all other programs on the computer. It is responsible for
the purpose of assigning and unassigning memory space which allows software to run.
Android relies on linux for some major system services such as security, memory management,
process management, stack , driver model and other important features. Hence it is essential
for the user to have linux as the main operating system in the mobile device and install all the
essential drivers required to run it.
NATIVE LIBRARIES
The next level up is the native libraries such as Webkit, OpenGL, FreeType, SQLite, Media, C
runtime library,etc.
The Webkit library is responsible for browser support, SQLite is for database, FreeType for font
support, Media for playing and recording of audio and video.
If we are into app development that requires C or C++ code then we can use the Android NDK
to access some of these native platform libraries directly from your native code.
ANDROID RUNTIME
Android includes a set of core libraries and Dalvik Virtual Machine(DVM) which is responsible to
run android application. DVM is mostly like JVM and the only difference is that it is optimised
for mobile devices only. It consumes less memory and also provides fast performance and it
has been written so that a device can run multiple VM’s efficiently.
Some of the major features of android runtime are as listed bilow:
Ahead of Time(AOT) and Just in Time(JIT) compilation
Optimised Garbage collection
Exceptionally better debugging support
Prior to Android’s version 5.0 , Dalvik was the android runtime.
ANDROID FRAMEWORK
6. On the top of Native libraries and android runtime, there exists android framework. Android
framework includes Android API’S written in java language such as:
UI (User Interface),
telephony,
resources,
locations,
Content providers (data),
Notification managers and
package managers.
These API’s form the fundamental building blocks that we need to we require to create Android
apps. The framework API’s that android apps use are made fully accessible to the developers.
APPLICATIONS
Android comes with a set of applications such as Home, Contact, Settings, E-mail, SMS
Messaging , Calendars, Internet browsing, etc.
Apps included within the platform does not possess any special status or any compulsions to be
used by the user except the System Settings app. Other than the system settings app ,the user
is independent to install any third party application and can make them their default browsers ,
SMS messenger or even the default keyboard.
ANDROID CORE BUILING BLOCKS
The fundamental components of android are:
ACTIVITY
An activity is a class which represents a single screen.
VIEW
Anything that we see on the screen is view and is the UI element such as button, label, text
field, and more.
INTENT
It is mainly used to –
o Start the service
o Launch an activity
o Display a web page
o Display contact list
o Message broadcast
o Dialling a phone call, etc.
SERVICE
7. Service is a process in background that can run for a longer duration . There are two types of
services local service, which is accessed from within the application ,and remote service which
is accessed remotely from other applications that are running on the same device.
CONTENT PROVIDER
They are used to share data between the applications.
FRAGMENT
They are like parts of activity such that an activity can display one or more fragments on the
screen at the same time.
ANDROIDMANIFEST.XML
It possesses information about activities, content providers, permissions,etc.
ANDROID VIRTUAL DEVICE (AVD)
It is used to test the android application without the need for smart- phones or tablets, etc.
DRAWBACKS OF ANDROID
Except being the most popular mobile OS it has certain drawbacks such as :
By making the source code available to every one inevitably invites the attention of
hackers.
It takes more amount of battery usage than other mobile OS.
As there are so many users sometimes it becomes difficult to connect to all the users.
Not all of the apps available in the play store are compatible with all android phones of
different ranges.
COMPARISON WITH iOS
Android and iOS are both operating systems developed for mobile technology. iOS
being the major rival in the market of android can be compared as :
Android is developed by Google but iOS is developed by Apple Inc.
Android being open source model provides more flexibility in customization
than iOS which is a closed source model with limited customization.
File transfer in the case of android is easier than in iOS.
iOS can only run on Apple devices such as iPhone whereasandroid is used
by many different mobile manufacturers.
Android belongs to the Linux family whereasiOS belongs to the Unix OS
family.
Android facilitates full access and control over the device to its users wheras
in the of iOS there is limited access and no complete control over the device.
Android may encounter a problem of malware asit allowsits users to install
third party apps from stores other than play store but iOS won’t as they don’t
go outside the play store for apps.
8. FUTURE POSSIBILITIES
Google is making continuous efforts to connect everything with android. Now talking about the
future possibilities would be :
Messaging apps – the way of messaging can be changed .
Virtual Reality – Virtual reality platforms may undergo various advancements.
Android Wear – wearable technology has been at the top since the time it was
introduced in the market . It may have changes to provide a better user experience.
Android instant apps – Google is working on providing its users with a feature that does
not requires them to install the apps rather make them accessible instantly.
And much more is yet to come. We can only hope that next versions of android
overcome the current limitations and that the future possibilities become a reality.
REFRENCES
Android architecture – developers.android.com
www.javapoint.com
www.techotopia.com