0% found this document useful (0 votes)
19 views

L 7A Architecture of Android

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

L 7A Architecture of Android

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Android Architecture

 Android architecture contains a different number of components


to support any Android device’s needs.
 Android software contains an open-source Linux Kernel having
a collection of a number of C/C++ libraries which are exposed
through application framework services.
 Among all the components Linux Kernel provides the main
functionality of operating system functions to smartphones and
Dalvik Virtual Machine (DVM) provide a platform for running
an Android application.

Components of Android Architecture


The main components of Android architecture are the following:-
 Applications
 Application Framework
 Android Runtime
 Platform Libraries
 Linux Kernel
Pictorial representation of Android architecture with several main
components and their sub-components
1. Applications
An application 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.

2. 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. 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.

3. 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.
Note: Now, starting from Android 5.0 and above, we use ART
(Android Runtime) to compile bytecode into native code to leverage
ahead-of-time compilation.
4. 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.

5. 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: The Linux kernel handles the security between the
application and the system.
 Memory Management: It efficiently handles the memory
management thereby providing the freedom to develop our apps.
 Process Management: It manages the process well, allocates
resources to processes whenever they need them.
 Network Stack: It effectively handles the network
communication.
 Driver Model: It ensures that the application works properly on
the device and hardware manufacturers responsible for building
their drivers into the Linux build.

Other Commonly Used Architectures in Android


There are few commonly used Android Architectures used mentioned
below:
1. MVC ( Model View Controller )
MVC or Model View Controller breaks the model into three main
components Model that stores the application data , View UI layer
that holds the component visible on the screen and Controller that
establishes the relationship between Model and the View.
2. MVP ( Model View Presenter )
To avoid complexities like maintainability, readability, scalability,
and refactoring of applications we use MVP model. The basic
working of this model relies of the points mentioned below:
 Communication between the View-Presenter and Presenter-
Model happens with the help of Interface (also called Contract).
 There is One to One relationship between Presenter and View ,
One Presenter Class only manages One View at a time.
 Model and View doesn’t have any knowledge about each other.
3. MVVM ( Model View ViewModel ) :
MVVM or Model View ViewModel as the name suggest like MVC
model it contains three components too Model , View and
ViewModel. Features of MVVM model are mentioned below:
 ViewModel does not hold any kind of reference to the View.
 Many to-1 relationships exist between View and ViewModel.
 No triggering methods to update the View.
And we can achieve this using 2 methods:
 Using DataBinding library of Google.
 Using Tools like RxJava for Data Binding.
Benefits of Architecture
Using Architecture solves many problems for us few of them are:
 Improves the Maintainability , quality and robustness of the
application
 Scalability of the Application is increased using Architecuture
as , users and developers bot the engamenents on the
application can be increased.
 Testing of Application gets easy because of it.
 Bugs can be identified and removed easily with the well defined
process.

Three 90 Challenge is back on popular demand! After processing


refunds worth INR 1CR+, we are back with the offer if you missed it
the first time. Get 90% course fee refund in 90 days. Avail now!
Ready to embark on an exciting journey into the world of Android
Development with Kotlin? It's time to make a change and dive into a
fantastic learning experience with our Mastering Android
Development with Kotlin From Beginner to Pro - Self Paced!

You might also like