
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Google Android Architecture
Android is an operating system developed by Google for mobile systems. It is based on the Linux kernel and mainly designed for touchscreen devices such as tablets and smartphones.
The Android architecture is divided into four main layers and five sections. This is explained using the given diagram −
The details about the different parts of the Android architecture are given as follows −
Applications
The android applications are in the top layer of the architecture. They are mainly written in Java and run within individual instances of the Dalvik virtual machine. The main features of the Android applications should be performance and efficiency, both in an implementation of the application and its execution.
Application Framework
The set of services that form the environment in which applications are run is known as application framework. Some of the main services in the Android application framework are −
Activity Manager
All aspects of the application lifestyle and activity stack are controlled by the activity manager.
Resource Manager
The resource manager provides access to resources such as strings, colour settings etc. These are non-code embedded resources.
Notifications Manager
The applications can display alerts and notifications to the user using the notifications manager.
Content Provider
This allows applications to share and publish data with other applications.
Libraries
The java based libraries that are specific to android development are included in here. Some of these libraries are −
Android.app
This is the cornerstone of all Android applications and provides access to the applications.
Android.text
This is used to manipulate text on a device display.
Android.content
Content access and messaging between different applications is provided by android.content.
Android.database
The data published by content providers such as SQLite database management is displayed.
Android.media
Playback of audio and video is done using the classes provided.
Android Runtime
The android runtime provides a key component known as dalvik virtual machine which is a part of JVM (Java Virtual Machine) developed specially for android. The dalvik virtual machine uses features that are quite important in Java such as memory management, multi-threading etc.
Linux Kernel
The Linux kernel provides a level of abstraction before the hardware. It is at the lowest level in the Android architecture. The Linux kernel contains all the important hardware drivers such as keyboard driver, display driver, Bluetooth driver, wifi driver, camera driver etc.