It’s official: Android is now the most used mobile operating system in the world with over 900m Android activations. Android now has more users, more phones, and more tablets worldwide than any other mobile operating system. The Google Play app store has been growing at breakneck speed and with almost as many apps as the Apple app store. Which, for entrepreneurs and developers, is the chance of a lifetime to make even more money and reach an even broader audience base.
But first, you’ll have to learn how to make Android apps. In this Android development tutorial, we’ll learn the basic requirements of making an app on the Android platform.
Getting Started: Understanding Android
Before you can dive headfirst into Android development, you must understand how Android works.
Android, as you might already know, is an open source mobile operating system released under the Apache license. It was originally developed in 2003 by Andy Rubin, Nick Sears, Chris White and Rich Miner as an alternative to for-profit Symbian (Nokia) and Windows Mobile (Microsoft). Two years later, Google acquired the company with an aim to target the burgeoning mobile market. The OS was powered by the Linux Kernel and was officially unveiled on November 5, 2007 – nearly an year after Apple’s blockbuster iPhone announcement in early 2007. Android has grown from strength to strength since then, trouncing Apple’s iOS in terms of popularity and becoming the most popular mobile OS in the world.
Current versions of Android are powered by Linux Kernel version 3.x. Most of the code – libraries, APIs, etc. – are written in C and application software running on Java-compatible frameworks based on Apache Harmony, a free, open-source Java implementation. On the hardware side, Android utilizes ARM architecture with support for x86 as well.
Architecturally, Android follows the following structure:
Applications -> Application Framework -> Libraries (OpenGL, SSL) + Runtime (Dalvik VM) -> Linux Kernel (IPC, audio, wifi, flash).
Essentially, this means that Android is like a multi-layered cake where Linux Kernel is the base, the OpenGL, SSL and SQLite libraries and Dalvik VM the first development layer, the application framework running Java the second layer with the actual applications sitting on top – little wonder that the Google team is fond of naming its Android releases after desserts!