Getting Started with Android Programming
Welcome! The fact that you guys are reading this, means you are keen about learning how to write an Android Application by your own. In today's world Mobile Application market is exploding and specially Android has emerged in a very short time, holding the top position against other competitors like iOS, Blackberry, Windows & others.
Each technology(Operating System) has their own userbase but Android has been able to cover the largest userbase in the world. In this first tutorial we will see, what is Android, its versions and what features it has had since 2005 that has helped it to be where it is now? Lastly, we will also try to understand the Android Architecture.
What is Android?
Android is a modified Linux based mobile operating system that was originally started by Android Inc. with the same name. In 2005, Google acquired Android and took over its development work to enter into the mobile space.
As a part of the world's biggest tech giant, Android was made open source and free; hence most of the source code of Android is released under the open-source Apache licence. That allows anyone to download the source code and change it as per their requirements, hence they can have their own flavour of the Android operating system, For example : Cynogen, MIUI(by Xiaomi) etc are just different flavours of the Android OS.
During development, developers have to code only at a Software level, adding new features, modifying the user experience etc, leaving behind the worries of the different device configurations, and hardware/software integration, which makes Android Application Development for mobile even easier.
Since the release, Android has gone through number of updates. Here is the list of its different versions and their code names:
|Version||Release Date||Code Name||API Level|
|1.0||23 Sep, 2008||N/A||1|
|1.1||9 Feb, 2009||N/A||2|
|1.5||30 Apr, 2009||Cupcake||3|
|1.6||15 Sep, 2009||Donut||4|
|2.0/2.1||26 Oct, 2009||Éclair||5-7|
|2.2||20 May, 2010||Froyo||8|
|2.3||6 Dec, 2010||Gingerbread||9-10|
|3.0/3.1/3.2||22 Feb, 2011||Honeycomb||11-13|
|4.0||18 Oct, 2011||Ice Cream Sandwich||14-15|
|4.1/4.2/4.3||9 Jul, 2012||Jelly Bean||16-18|
|4.4||31 Oct, 2013||KitKat||19-20|
|5.0/5.1||12 Nov, 2014||Lollipop||21-22|
|6.0||5 Oct, 2015||Marshmallow||23|
|8.0||21 Aug, 2017||Oreo||26|
Features of Android
As an open source and freely available software, manufacturers and developers do customization as per their needs, so there is no specific hardware and software configurations required for Android. Android itself offers some features as below,
- Storage: Uses SQLite, a light weight relational database storage for data storage (really helpful when limited mobile memory storage is to be considered).
- Media Support: Include support for large number of media formats for Images, Audio as well as for Video, like: H.263, H.264, MPEG-4 SP, AMR, AMR WB, AAC, MP3, MIDI, WAV, JPEG, PNG, GIF & BMP.
- Messaging: Both SMS and MMS are supported.
- Web Browser: Based on Open Source WebKit, now known as Chrome.
- Connectivity: Supports large group of networks like: GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, WiFi, LTE and WiMAX.
- Hardware Support: Accelerometer Sensor, Camera, Digital Compass, Proximity Sensor & GPS and a lot more.
- Multi-Touch: Supports multi-touch screen.
- Multi-Task: Supports application multi-tasking.
- Flash Support: Supports Flash.
- Tethering: Supports sharing of Internet as wired or wireless hotspots.