3.2.1. What is Android? ¶

Android is an open source, Linux-based operating system for mobile devices such as smartphones and tablets. Android was developed by the Open Mobile Alliance, led by Google and other companies.
Android provides a unified approach to application development, which means that developers only need to develop for Android so that their applications can run on different Android-enabled mobile devices.
Google released its first beta version of Android Software Development Kit (SDK) in 2007 and the first commercial version of Android 1.0 in September 2008.
On June 27, 2012, Google announced the release of Android version 4.1 Jelly Bean at the Google Iamp O conference. Jelly Bean is a progressive update in terms of functionality and performance with the main aim of improving the user interface
Android source code is licensed under free and open source software. Most of the code released by Google follows version 2.0 of the Apache license, and the changes to the Linux kernel follow version 2 of the GNU General Public license.
3.2.2. Advantages of Android development ¶
Open source code
Many developers and powerful communities
A growing market
Internationalized App integration
Low development cost
A higher chance of success
Rich development environment

3.2.3. Characteristics of Android ¶
Android is a powerful operating system that competes with Apple 4GS and supports some great features. List some of the functions as follows:
Characteristics | Description |
|---|---|
Beautiful UI | The basic screen of the Android operating system provides a beautiful and intuitive user interface. |
Connectivity | GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX. |
Storage | Lightweight Relational Database SQLite for data Storage |
Media support | H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP |
Message | SMS and MMS |
Web browser | Based on the open source WebKit layout engine, plus the V8 JavaScript engine that supports HTML5 and CSS3 Chrome. |
Multi-touch | Android natively supports multi-touch, starting with the original handheld devices, such as the HTC Hero. |
Multitasking | Users can jump from one task to another and run various applications at the same time. |
Adjustable widgets | Widgets is resizable so that users can expand more content or shrink to save space. |
Multilingual | Support for unidirectional and multidirectional text. |
GCM | GCM is a service that allows developers to send short message data to users of Android devices without the need for proprietary synchronization solutions. |
Wi-Fi Direct | A technique for directly discovering and pairing applications through high-bandwidth peer-to-peer network connections. |
Android Beam | A popular NFC-based technology that allows users to share in real time by simply connecting two phones together by touching the NFC function. |
3.2.4. Android application ¶
Android applications generally use Android software development kit and use Java language to develop.
Once developed, Android applications can be easily packaged and sold on app stores such as Google Play and Amazon.
Android has millions of mobile devices in more than 190 countries around the world. This is the largest installation base for any mobile platform and fast growth. More than 1 million new Android devices are activated worldwide every day.
This tutorial is written to teach you how to develop and package Android applications. We will start with Android application programming environment settings and then delve into all aspects of Android application development.
3.2.5. Categories of Android applications ¶
There are many Android applications on the market. The main categories are:

3.2.6. History of Android ¶
The code names of Android are now arranged from A to L, which are Aestro, Blender, Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwitch, Jelly Bean, KitKat and Lollipop. Let’s look at the history of Android in order.
Cupcakes (Cupcake)
Doughnut (Donut)
Lightning Puff (Eclair)
Frozen yoghurt (Froyo)
Gingerbread (Gingerbread)
Honeycomb (Honeycomb)
Ice cream sandwich (Ice Cream Sandwich)
Jelly bean (Jelly Bean)
KitKat (Kit Kat)
Lollipop (Lollipop)

3.2.7. What is the API level? ¶
The API level is an integer that uniquely identifies the version of the API framework and is provided by a version of the Android platform.
Platform version | API level | VERSION_CODE | |
|---|---|---|---|
Android 5.1 | 22 | LOLLIPOP_MR1 | |
Android 5.0 | 21 | LOLLIPOP | |
Android 4.4W | 20 | KITKAT_WATCH | KitKat for Wearables Only |
Android 4.4 | 19 | KITKAT | |
Android 4.3 | 18 | JELLY_BEAN_MR2 | |
Android 4.2, 4.2.2 | 17 | JELLY_BEAN_MR1 | |
Android 4.1, 4.1.1 | 16 | JELLY_BEAN | |
Android 4.0.3, 4.0.4 | 15 | ICE_CREAM_SANDWICH_MR1 | |
Android 4.0, 4.0.1, 4.0.2 | 14 | ICE_CREAM_SANDWICH | |
Android 3.2 | 13 | HONEYCOMB_MR2 | |
Android 3.1.x | 12 | HONEYCOMB_MR1 | |
Android 3.0.x | 11 | HONEYCOMB | |
Android 2.3.4 | 10 | GINGERBREAD_MR1 | |
Android 2.3.3 | |||
Android 2.3.2 | 9 | GINGERBREAD | |
Android 2.3.1 | |||
Android 2.3 | |||
Android 2.2.x | 8 | FROYO | |
Android 2.1.x | 7 | ECLAIR_MR1 | |
Android 2.0.1 | 6 | ECLAIR_0_1 | |
Android 2.0 | 5 | ECLAIR | |
Android 1.6 | 4 | DONUT | |
Android 1.5 | 3 | CUPCAKE | |
Android 1.1 | 2 | BASE_1_1 | |
Android 1.0 | 1 | BASE |