Architecture Of Android or Software Stack
Architecture of Android is a collection of samples to discuss and showcase different architectural tools and patterns for Android apps. Android Operating System is a heap of programming parts which is generally isolated into five areas and four primary layers as appeared underneath in the design graph
Android Linux Kernel
At the base of the layers is Linux – Linux 3.6 with around 115 patches. This gives a level of abstraction between the device hardware and it contains all the key equipment drivers like camera, keypad, show and so on. Likewise, the kernel handles every one of the things that Linux is decent at, for example, organizing and an immense exhibit of device drivers, which remove the torment from interfacing to peripheral hardware.
On top of Linux Kernel portion, there is an arrangement of libraries including open-source Web browser engine WebKit, understood library libc, SQLite database which is a helpful vault for capacity and sharing of information, libraries to play and record sound and video, SSL libraries in charge of internet security and so forth.
This classification incorporates those Java-based libraries that are particular to Android development. The case of libraries in this classification include the application system libraries notwithstanding those that encourage UI (User Interface building, illustrations drawing and database access. A synopsis of some key center Android libraries accessible to the Android developer is as per the following.
- android.app – Gives access to the application model and is the foundation of all Android applications.
- android.content -Encourages content get to, publishing and communicate among applications and application parts.
- android.database-Used to get to information published by content suppliers and incorporates SQLite database administration classes
- android.opengl − A Java interface to the OpenGL ES 3D design rendering API.
- android.os − Provides applications with access to standard working framework administrations including messages, system services and between procedure communication.
- android.text − Used to render and control content on a device show.
- android.view − The central building pieces of use UIS (Application User Interfaces).
- android.widget − A rich accumulation of pre-constructed UI parts, for example, buttons, marks, list sees, layout supervisors, radio buttons and so on.
- android.webkit −An arrangement of classes proposed to permit web-browsing capacities to be incorporated with applications.
Having secured the Java-based center libraries in the Android runtime. It is presently time to turn our consideration regarding the C/C++ based libraries contained in this layer of the Android software stack.
This is the third segment of architecture of android and accessible on the second layer from the base. This area gives a key part called Dalvik Virtual Machine which is a sort of Java Virtual Machine extraordinarily designed and advanced for Android.
The Dalvik VM makes utilization of Linux center elements like memory management and multi-threading It is natural in the Java dialect or language. The Dalvik VM empowers each Android application to keep running in its own procedure, with its own occasion of the Dalvik virtual machine.
The Android run-time likewise gives an arrangement of center libraries which empower Android application developers to compose Android applications utilizing standard Java programming language.
Android Application Framework
The android Application Framework layer gives numerous higher-level services to applications as Java classes. Application developers are permitted to make utilization of these services in their applications.
The Architecture of Android incorporates the accompanying key services −
Android Activity Manager − Controls all parts of the application lifecycle and activity stack.
Android Content Providers − Allows applications to publish and impart information to different applications.
Android Resource Manager − Provides access to non-code inserted assets, for example, strings, shading (color) settings and UI layouts.
Android Notification Manager − Allows applications to show alerts and notices to the client.
Android View System − An extensible arrangement of perspectives used to make application UIs.
You will discover all the Android application at the top layer. You will compose your application to be installed on this layer as it were. A case of such applications are Contacts Books, Browser, Games, Call logs and so on.