In recent times, the mobile application development is growing rapidly, in terms of both revenues and in job scopes created by that field. In this i am explaining about brief summary and overview of Android, the most emerging mobile application development platform now-a-days.
Android Technology is an operating system which is based on a Linux kernel. It was designed mainly for the touch screen mobile devices, such as smart phones and tablet computers, with variants for television, cars and wrist wear.
Android Architecture Stack
We can consider Android OS as a software components which is divided into five sections and in 4 main layers they are:
- Linux kernel
- Libraries
- Android runtime
- Application Framework
- Applications
Linux kernel:
Android uses the Linux kernel it supports wide range of hardware drivers. It is the heart of the operating system that manages input and the output requests from software. It provides the essential system functionalities like process management, memory management, device management like camera, keypad, display etc the kernel handles all the items. It will not interact directly with the user but rather interacts with the shell and other programs.
1. Security: The Linux kernel handles the safety between the appliance and therefore the system.
- Memory Management: It efficiently handles the memory management thereby providing the liberty to develop our apps.
- Process Management: It manages the method well, allocates resources to processes whenever they have them.
- Network Stack: It effectively handles the network communication.
- Driver Model: It ensures that the application works. Hardware manufacturers can build their drivers into the Linux build.
Libraries:
An Android library is structurally an equivalent as an Android app module. It can include everything needed to create an app, including ASCII text file , resource files, and an Android manifest. … When you’re building multiple apps that use a number of an equivalent components, like activities, services, or UI layouts
- The Android runtime: The Android runtime contains core libraries of Java and ART(the Android RunTime). Older versions of Android (4.x and earlier) had Dalvik runtime.
- Open GL(graphics library): This cross-language, cross-platform application interface (API) is employed to supply 2D and 3D special effects .
- WebKit: This open source browser engine provides all the functionality to display web page and to simplify page loading.
- Media frameworks: These libraries allow you to play and record audio and video.
- Secure Socket Layer (SSL): These libraries are there for Internet security.
Android Runtime:
Android Runtime is an application runtime environment employed by the Android OS . By replacing the Dalvik method virtual machine originally employed by Android, ART performs the interpretation of the application’s bytecode into native instructions that are later executed by the device’s runtime environment.
Application Framework
The application frame work layer provides many higher level services to applications like windows manager, view system, package manager, resource manager etc. the appliance developers are allowed to form use of those services in their application.
- Activity Manager: It manages the activity lifecycle and therefore the activity stack.
- Telephony Manager: It provides access to telephony services as related subscriber information, like phone numbers.
- View System: It builds the interface by handling the views and layouts.
- Location manager: It finds the device’s geographic location.
Applications:
You will find all the android applications at the highest layer and you’ll write your application and install on this layer. Example of such applications are contacts, books, browsers, services etc. Each application perform a special role within the over all applications.
SkillPractical provides the best Android projects. Now a days Android is the trending technology. If you want to start your carrer in Android technology you need to learn from the basics. SkillPractical provides the Android projects from beginner to advanced. They will explain every project in step by step along with modules, module steps, resources and module assessments.
In this article, I have explained about the Android architecture and its various layers consisting Linux kernel, Android runtime, application framework in detail. The benefit of learning about architecture, as an Android developer is that it becomes easy to add new features if there are separate components.