What is Android?
Android is a mobile OS based on Linux and an open source project. It is a project born from the Open Handset Alliance which is a group of organizations aiming to build a better mobile phone. It is the most used mobile OS. It is available for smartwatch, smartphones, and smart TV. For a developer, it is important to target this platform when developing an app. And it is simple and fast to develop an app for Android devices. A third party application can use any core feature of the system such as making calls, using the camera or sending text messages. In this way, developers are allowed to create richer and greater experiences for users.
Application architecture
As mentioned above, Android is Linux based. Its applications are written in Java and run in a virtual machine (VM). But as you might expect, the VM is not a JVM but the Dalvik Virtual Machine which is an open source technology. As shown below, the Dalvik VM is in a Linux-kernel managed process and each Android app runs within an instance of it.
An Android application includes one or more of the following classifications:
Services
A service is used for any application that needs to run for a long time. It is commonly used for update-checking or network monitor apps.
Activities
An activity is started when a user launch an app from the home screen. There is an activity behind any app with a visible UI.
Content providers
It is a database server. It is not necessary for simple application. But in case of larger applications, a content provider is needed.
Broadcast receivers
Any Android app include a manifest file. This file contains the necessary configuration information to install without problem to the device. It includes the required permissions the app needs to run and the events it can process. For example if an app needs internet to run, it is stated in the manifest file.
How to develop Android applications
Required development tools
Android has a full range of tools and libraries that can be used to build cutting edge applications. It is possible to develop Android applications on Apple Mac OS, Microsoft Windows and Linux. You can download the software required to make apps Android apps on the web at http://developer.android.com. There are Android Studio, and the Android SDKs and some add-ons. The installation is simple, so you won’t for sure encounter any problem. The process is described on the download page. It is useful to have a device with Android installed to test your apps but you can also use the virtual device emulators provided with Android Studio.
Programmer requirements
It is important to have some background in Java and XML since the system is programmed in those two languages. However sample codes are available as starting point to develop within the Android environment, so any programmer can make apps easily for this system.