Nowadays every one among ten customers owns an android device which indicates how popular this platform has become in last seven to eight years. Smartphones have become smart as they are powered by some smart operating system. Just like your laptop or computer, your handset requires an operating system which is going to manage everything, right from battery power usage to how your home screen appears? Yes, operating system is a program which manages operation of your device and manages its resources. Android is one of the biggest players in this market and it has the second largest app store in world. Approximately, 200 million devices are powered (when this tutorial was developed) by this mobile operating system called Android
In Pre-Android days, developing apps for mobile devices was expensive. We can say out of reach of a layman. Either you have to be a part of proprietary company or buy their expensive proprietary system to learn app programming. Programming your own device without spending chunk of dollars is a dream comes true for any user. A novice can customize his/her device or build simple apps. You just need to have a device and it will upgrade itself to latest release from time to time. Even If you cannot afford a device but you have a computer, that’s enough to learn android you just need patience and urge to learn.
Android is a pile of software and hence it has a layered architecture. It has an operating system, middleware, native applications and set of API libraries with which developers create awesome apps. Let us first take a glance of terms we used:
- Operating system: Operating system is a collection of software which does everything to keep your computer or device running like it recognizes input from keyboard, reacts to mouse click, manage the resources like how much memory is required to save a downloaded mp3 song, etc, In short anything and everything which is required to turn on your system, keep it running and turning it off is managed by the set of software called operating system.
- Software: it is a set of programs to achieve a set target function.
- Program: It is a set of instructions which computer interprets and executes according to the interpretation of instructions.
- Middleware: Middleware acts as software glue between two separate components to make the communication between these parts smoother. Separate parts don’t have to worry about the underlying mechanism acting between them. For example, let us consider bogie of a train is a rectangular box, railway lines are approximately straight lines then we can take circular wheels as middleware which is providing a smooth interface between train and its track.
- API: Application Programming Interface provides interface between applications to be programmed and where to be programmed. Collection of set of rules, routines and tools required to build software applications. In case of our train example, nuts and bolts which connect the circular wheels to the lower body of bogies of train.
- App: Application (App) is a complete and independent chunk of software which is designed to fulfill a particular purpose. It runs on your desktop, laptop, mobile, internet or any other electronic device.
- Native apps: These applications are provided to you by the manufacturer like your home screen button, contacts, browser, etc. They are shipped along with the device.
- Third party apps: These applications are downloaded from apps store or the one’s created by you . For example, the famous talking tom from outfit 7 is a third party app or any other game you download from Google Play or any other app store is a third party app.
The most distinguished feature of Android is that it doesn’t give step motherly attitude to third-party apps. All step mothers are not bad!! Android is a good step mother, it gives equal opportunities to native apps and third party apps to use its resources.
Figure Android environment
1.1.1 Brief Biography of Android
Android took birth on October, 2003 at a place called Palo Alto in California. Initial Developers were Andy Rubin, Rich Miner, Nick Sears and Chris White according to various sources. Google acquired android in the year 2005. November 2007 was the year when android was launched by OHA (Open Handset Alliance) as its first product and android entered the market to rock the world of mobile users. OHA stands for Open Handset Alliance is a group of 84 organizations now. It was born on 6th November, 2007 and it had 34 companies initially. This alliance had a goal of innovating ideas in mobile platform and leverages the capabilities of mobile world to give users whole new experience of using smarter smart phones. These companies came together to work for open standards for mobile devices. Some of the players of this group are Google, HTC, Dell, Intel, Motorola, Dell, Texas Instruments, Samsung electronics, LG electronics, etc.
Android is an open source system. Two open source licenses are tangled for this:
- Apache License version 2.0 and later.
- GNU General Public License version 2 for the linux kernel changes.
Source code of android is always available which is free and open to access. All changes to kernel are done in front of public and there is no back door policy of OHA.
Android aims the developer community for the most part. While the development platform of android is powerful, development is quiet comprehensive from novice to expert. Even with no programming background, apps can be created for this platform. Because of its openness it’s not going to retire in near future.
Thus android is actually a operating system based on Linux kernel and it is basically developed for Smartphone and Tablet PCs. It can be integrated to other devices also ranging from laptops to cameras