Basics of Android OS and Applications
“Be together. Not the same”
Smartphones have become an integral part of life. They have changed the way we lead our life. Being tech-savvy has become extremely crucial and a phone is no longer used only for making calls. The need to stay a step ahead has led to the development of numerous operating systems (OS). An OS is one software that manages computer hardware and software resources and makes available common services for computer programs.
Android is one such OS that is currently developed by Google and considered to be one of the most popular among mobile users. Android is a Linux-based open source software system that includes not only an OS but also comprises of middleware, key applications and API libraries for developing third party applications. There have been numerous Android OS version- from 1.0 to 4.4 KitKat.
Basic Components of the OS
With a direct manipulation- based user interface, Android is made for touchscreen mobile devices like smartphones and tablets. It relies on touch inputs to interact with on-screen objects. The response to touch inputs is instantaneous and provides users with a smooth touch interface. The homescreen on Android devices, which is made up of app icons and widgets, is the principal navigation and information hub.
Android OS is developed based on Linux kernel 2.6 and 3.x (Android 4.0 onwards). Linux is linked with hardware and contains all the essential hardware drivers. Linux is responsible for essential components like power management, virtual memory, networking and drivers.
The OS incorporates open-source API libraries for designing applications like SQLite, Webkit, OpenGL and a media manager. The native libraries layer supplies the OS with its basic features. Android is designed with SGL which functions as the key 2D graphics renderer. OpenGL ES acts as its counterpart and provides 3D graphics support. Android relies on SQLite for data storage purposes. The WebKit web rendering engine enables adjusting size of web pages for smaller screens.
This layer also includes the Dalvik virtual machine (DVM), which helps run applications. It is home to important native applications such as SMS application, email client, web browser, music player, video calling, camera application etc. The Dalvik virtual machine functions as a bytecode interpreter and converts the bytecodes into Java binaries that run quickly and efficiently on smaller processors. Google has chosen Java as the language for developing core libraries, which provides majority of the basic classes normally available in a Java Virtual Machine (JVM).
Applications are developed mainly in the Java programming language using the Android software development kit (SDK). The SDK consists of tools like a debugger, software libraries, tutorials, sample code, a QEMU-based handset emulator and documentation. Now let’s take a look at the basic constituents of Android applications.
An Android application usually consists of numerous activities. An activity in Android refers to a single screen with user interface. An application is made up of a number of activities but only one activity can be identified as the main activity. An activity interacts with the user to perform just one function. Every time an activity commences, the previous activity is stopped but the data is saved.
An activity comprises of views and ViewGroups. Views are components of the user interface and one or more views can be clubbed together into a ViewGroup.
Services are components that do not rely on user interface and functions without user interaction but it does not start without receiving the request from the user.
Content providers in Android manage data that is being shared by more than one application. This is a significant concept that has facilitated improvement of in-house android applications.
Broadcast Receiver is a component that helps you register for system or application events. Once registered, the user will receive notifications about the events.
Intents are messages that permit components to ask for activities from other component.
Google Play Store is the key application store available on Android devices that is in tune with the compatibility requirements of Google. Google Play Store enables users to surf, download and update applications distributed by Google and third-party developers. The open nature of Android has also allowed the existence of a number of third-party application marketplaces.