We are witnessing an explosion in the use of handheld mobile devices worldwide. Many people own and use more than one mobile device. Smart phones, tablets, and handheld game devices are ubiquitous. The Android operating system (OS) – an open-source mobile OS with Linux at its core – is an ever-more-popular OS on these devices.
The Android platform, based on the Linux OS, is designed to be a general-purpose handheld computing platform. The Linux core controls the mobile device’s memory, internal devices, and processes. The Android libraries control telephony, video, graphics, and the user interface. Like any Linux system, the Android OS is a multiuser system in which each application is treated as a different user with a unique user ID. The OS sets permissions on files based on the application’s ID so that applications have access to the necessary files
The relative ease of programming in Java, coupled with the cooperative features of the Android OS and the gargantuan user base of Android devices, creates an attractive development platform for application development. The array of features contained in the Android OS, along with the rich development set offered by both the Java and Android development kits, offers the developer mobile computing solutions and an array of distribution channels and options to allow their deployment.