History OF Android Versions 2008-2018
1.2 Android version history
Android has two release versions listed as:
1. Android non-commercial release.
2. Android commercial release.
1.2.1. Non commercial Releases
- Android alpha: These versions were internally released. Fancy robot names were given to these versions like Astro Boy, R2-D2, etc. Irina Blok designed current logo. Naming scheme was introduced by Ryan Gibson after Android 1.5.
- Android beta: This was released in November, 2007. Android’s birthday is celebrated on 5th Nov, 2007.
1.2.2. Commercial Version Releases
Different Android commercial versions were released and each release had a particular Application Programming Interface (API) level. API is the middleman between operating system and developers. They are a set of tools and resources which developer should know how to use. Need not worry about why and what it is. (Images are snapshots of emulators drawn from various sources)
TABLE - COMMERCIAL RELEASES OF ANDROID
Version
|
API Level
|
Name
|
Analysis
|
Snapshot
|
Release Date
| ||||||||
1.0
|
Level 1
|
---------
|
Web browser, camera support, Google contacts, Google calendar, Gmail synchronization, Media Player, YouTube video player, Google search, Voice Dialer, Wi-Fi and Bluetooth support, Google Maps, etc
|
23/09/2008
| |||||||||
1.1
|
Level 2
|
Petit Four
|
Ability to show/hide dialer pad, attachments can be attached with text messages, tc.
|
09/02/2009
| |||||||||
1.5
|
Level 3
|
Cup cake
|
Copy-paste features in web browsers, auto rotation, uploading videos on You Tube,etc.
|
30/04/2009
| |||||||||
1.6
|
Level 4
|
Donut
|
Speedy search and camera applications, more than one photo can be deleted, text-to-speech engine i.e. device can speak what to type it to say, speedier web search, bookmarks can be added, CDMA/EVDO technology were supported, VPN support was added, gallery was integrated, etc.
|
15/09/2009
| |||||||||
2.0,
2.0.1
2.1
|
Level 5
Level 6
Level 7
|
Eclair
|
Enhanced Camera support like Flash support, zoom etc were added, Browser with user interface and HTML5 was integrated, Google maps was improved, live wallpaper was supported, hardware was optimized and user interface was more sophisticated and more beautiful, saved SMS and MMS could be browsed, after a defined limit older messages were automatically deleted, multiple e-mail accounts could be automatically synchronized, etc.
In later releases bugs were fixed, small changes were done in API etc.
|
26/10/2009
03/10/2009
12/01/2010
| |||||||||
2.2
2.2.1
2.2.2
2.2.3
|
Level 8
|
Frozen Yoghurt (Froyo)
|
Push notifications were supported, Wi-Fi hotspot functionality was added, Bluetooth enhancements like car speaker was added, chrome’s V 8 engine was integrated, alpha numeric passwords were supported, shortcuts for launching applications were improved, speed of other applications were improved, USB synchronization, etc.
Bugs were fixed in later releases, etc.
|
20/05/2010
18/01/2011
22/01/2011
21/09/2011
| |||||||||
2.3
2.3.1
2.3.2
|
Level 9
|
Gingerbread
|
User interface was updated, User interface was more simple and support for larger screen resolutions were added, multiple cameras on device were supported, new download manager was added, power management was better, internet calls were supported, etc
Bugs were fixed with small improvements, etc.
|
06/10/2010
| |||||||||
2.3.3
2.3.4
2.3.5
2.3.6
2.3.7
|
Level 10
|
Gingerbread
|
Software of camera was enhanced, Gmail was improved, video and voice chat was supported and improved, Google wallet support was added, encryption was default to SSL (Secure Socket layer) network performance was enhanced, battery power efficiency was improved, bugs were fixed with each release, etc.
|
09/02/2011
28/04/2011
25/07/2011
02/09/2011
21/09/2011
| |||||||||
3.0
|
Level 11
|
Honeycomb
|
Multiple tabs for browser were supported, action bar was added, clipped data like url or text can be copied and pasted with ease, user interface supported drag-drop feature, hardware for graphics was accelerated, Status bar notification was added,
|
22/02/2011
| |||||||||
3.1
|
Level 12
|
Honeycomb
|
It included USB API(S) i.e., connected peripherals can be managed more easily, widgets can be resized easily, User interface was improved, Wi-Fi became more manageable, etc.
|
10/05/2011
| |||||||||
3.2
3.2.1
3.2.2
3.2.3
3.2.4
3.2.5
3.2.6
|
Level 13
|
Honeycomb
|
Display support was improved, hardware features were strengthened like optimization of platform for different tablet computers, synchronization was better, etc.
Later releases included soe features like Flash support, bugs were fixed, security was enhanced, data connectivity was improved etc
|
15/07/2011
20/09/2011
30/08/2011
10/2011
01/2012
02/2012
| |||||||||
4.0
4.0.1
4.0,2
|
Level 14
|
Ice Cream Sandwich
|
Applications were accessible from home screen, copy and paste functionality was improved, real time voice dictation was added, better near field communication feature was supported, built –in photo editor was provided, possible to zoom while recording video , face unlock support, “Holo ” interface with roboto font family, launcher was customizable, etc .
Later releases fixed bugs,
|
19/10/2011
21/10/2011
28/11/2011
| |||||||||
4.0.3
4.0.4
|
Level 15
|
Ice Cream Sandwich
|
Bluetooth, graphics, spell checking and databases were improved, many bugs were fixed, camera with QVGA resolution was added, content readers were provided with fast access, etc.
Screen rotation was smoothened, stability was improved, performance of camera was improved, etc.
|
16/12/2011
29/03/2012
| |||||||||
4.1
4.1.1
4.1.2
|
Level 16
|
Jelly Bean
|
Notifications were expandable, Google + photos support, camera application was improved, voice search was improved, notifications could be managed specific to application, etc.
Later releases fixed bugs with performance enhancements, one touch gesture was improved for widening and collapsing notifications, etc.
|
09/07/2012
23/07/2012
09/10/2012
| |||||||||
4.2
4.2.1
4.2.2
|
Level 17
|
Jelly Bean
|
Wireless display was supported, new clock application was introduced which included a stop watch, timer and world clock, group messaging support, lock screen improved, etc,
Bugs were fixed, wireless charging and low battery were given new sound alerts, download notifications were improved, etc.
|
13/11/2012
27/11/2012
11/02/2013
| |||||||||
4.3
4.3.1
|
Level 18
|
Jelly Bean
|
Performance of Bluetooth enhancements were improved, OpenGL ES 3.0 improved the gaming experience, right – to – left languages were supported now, different natural languages added, camera user interface was polished again, etc.
Later releases fixed bugs, etc.
|
24/07/2013
03/10/2013
| |||||||||
4.4
4.4.1
4.4.2
|
Level 19
|
Kit Kat
|
Latest release while writing this article. Wireless print support, devices can emulate NFC now, screen recording is built-in capability now, third-party apps are not allowed to check battery status, Bluetooth message access profile (MAP) is supported, user interface is refreshed again with improved looks, etc.
Bugs were fixed with few security enhancements, etc.
1.3 Architecture of androidAndroid Layered Architecture
Android has a layered architecture. Hence android is known as software stack or pile of software. It has five layers:
Now, what is a virtual machine? Let’s try to find some simple words for these technical terms:
1. Virtual Machine: It is a virtual implementation of a machine which executes like actual machine. The need for this is security and portability.
2. Portability: It is the ability of a program to run anywhere despite of different physical architecture or implementation. Code once and run anywhere.
3. Compilation: The process of converting the program written in your language to the language which your machine understands. In short, program is converted into machine code or low level language in which it can be executed.
4. Program: A sequence of instructions, which can be stored, interpreted and executed by computer.
5. Instruction: It is a basic command. In other words, it is the order given to the processor of computer by your program.
Make sure of one point, android is not extended java, nor java. Both are different. We will use javaas language so that we can make use of java compatible libraries for Android app development. Middleware, APIs and libraries are written in C. Application Software running on application framework are written in java-compatible libraries. Android runs Dalvik executable “dex-code” or”.dex” which is generated from java bytecode. Dalvik virtual machine uses JIT (Just-in-time) compilation.
Figure Android Architecture.
1.4 Basic Parts of Android Application
The basic components of any android application are the following:
Figure Main parts of android application
Let us go through a brief introduction of these components. We shall deal with them in details in next chapters.
1.4.1 Activity
An activity is the first stepping stone is building an Android user application. It provides the space to the user for doing anything and everything. For example, opening a contact, dialing a caller, etc. everything is done by interacting with a window and that very window is provided by an activity. A window is provided to each activity where user interfacing is done. Generally, every Android application has more than one activity. There is one “main” activity. All other activities are child activities. There is a stack called back stack. Whenever, there is a new window is started, previous activity is pushed to the back stack and it is stopped until the new activity is done. As soon as the back key of your device is pressed, new activity is popped out of stack and destroyed. Now previous activity resumes.
For example, when you send SMS, you open the messenger and send message. Assume this to be your current activity. When you press back key, it should resume the previous activity right!! Previous activity was your own home screen. Let us understand it diagrammatically.
Figure Android Activity and back stack
If you are a novice or don’t have computer’s background, you might be thinking what the heck is this stack, push and pop kind of things. A stack is data structure in which computer organizes its data in the memory. Adding an item to this is called push operation. Deleting an item is called pop. A stack has a structure like a book shelf where you arrange your books but unlike a book shelf, only one item can be inserted and deleted from stack respectively.
1.4.2. Service
Another important component of an android application is service. It does not provide user interface. It does long running operations in background. Service doesn’t terminate even if the component which initiated it got terminated or switched to another application. A service can be connected to a component which can even do inter process communication (IPC). For example, when you receive your email updates in inbox it is a service. You get the notification of new e-mail even if you are not using the e-mail app or doing something else. Amazing isn’t it. A service can take two forms:
· Started: After a service starts, it can run indefinitely and usually performs single operation. No result is returned to user. For example, uploading a file. After the task is completed, it should terminate itself.
· Bound: In this case, a component is bound to a service so that a particular task can be completed. This type of service provides a client-server like interface. Requests can be send, receive requests, and return result to the user. Inter process communication is achieved through this service. App component can bind to a service. Multiple components can be bound to this type of service. After the destruction of component, service terminates.
1.4.3. Content Providers
These Android components bring the object oriented functionality to the system. Content Providers encapsulate data. Content providers as the name indicates provides content of one process to another hence it acts as an interface. It provides gateway to access data from a structured set. For accessing data in a content provider an object has to be created and this object acts as a client whereas content provider act as a server. It is this object which is going to receive the requests retrieves the results and returns the result. Android has content providers which manages video, audio, etc. These content providers are internal to android applications. For example, custom searches on device require content providers.
1.4.4. Android Intents and Broadcast Receivers
Android Intents are the communication medium .i.e., app components send messages to one another like you do with your friends. It is a messaging object. It can be used to query an action from another app component. Android Intent can be used to instantiate a new activity or get result from another activity. A service can be started by passing intent to perform a single operation. A broadcast can be sent to other apps by passing intents. Intents are of two types:
· Implicit Intents: These are used to declare general actions to be performed so that part of another app can handle it.
· Explicit intents: These are generally used to start a new element of your own application. These elements are started by their name i.e. fully qualified class name. For example, if you want to call your best friend you would do it by name and if he/she is not with you then you would definitely know the residential address. Now this is residential address is what we refer to be as fully qualified name.
We know little bit about activity, service but what this broadcast chap is all about??? Let’s find out this in next few lines. Android Broadcast is a message which spreads out when any event occurs. They are received by apps. Android Intents can be used to deliver broadcasts to other apps. For example, when your device boots up or switched on system generates a broadcast to all apps. There should be a procedure or should be something which can receive these broadcasts. These receptors are called broadcast receivers. For this you need to register a receiver in the activity which we shall deal while programming for the same. There are two types of broadcasts:
· Normal Broadcasts: These are asynchronous in nature. Many receivers can be activated at the same time which doesn’t have any defined order. But they are very efficient.
· Ordered Broadcasts: They are synchronous in nature. Broadcast received by one receiver passes it to other receivers. Broadcasts are delivered to receiver on one-to-one and sequential basis. Either receiver will pass result to another receiver or it may completely destroy the broadcast.
1.4.5. Android Widgets and Notifications
Android App widgets are the small application views. These views can be embedded into other applications. They can receive updates on periodic basis. Now what is a widget first of all? A widget is a quick view of your app’s functionality and data. This view is accessible from home screen of your device. Now widgets are of following types:
Let us find out what these four types o widgets have to say
· Informational Widget: These Android widgets are going to display only that information to user which is important and dynamic in nature. Example the information displayed on your home screen saying time and weather condition is a widget of this type.
· Collection Widgets: These Android widgets scroll in top-to-down direction. Collection of information of same type and then enabling user to open any one of them to full detail. Example is your e-mail app which will display all the mails in your inbox and then allow you to open any one o them.
· Control Widgets: Displays the most frequently used functionalities which user might want to control from home screen. For example in a video app, you can pause, play, stop, go to previous track, move to next track is an example of control widget.
· Hybrid Widgets: These Android widgets combine features of all of the above three.
Notification, as the name says keeps the user aware of events going on. User is kept informed like any news channel. For e.g, everyone of us know about facebook or whatsapp, now notification system of app is responsible for informing you about any new friend request, chat request, or a new message from say, dvs or xyz, etc.
1.5 Android versus other platforms
A smart-phone programmer can choose other platforms also but developing for Android is lot easier and worthy. As a developer, anyone can develop apps for Android market. Point is:
Any other mobile SDK can also be used for learning and earning, why to choose android? Here are some of the unique features which make android more appealing and they are:
Let’s find out few differences between Android and other renowned platforms namely, ios, Blackberry and Windows.
1.5.I. Android versus IOS
Both Android and iOS are leading players in the market of smartphones. Let’s pen down few differences between them.
iOS is used only on Apple devices like iPad, iTouch, Apple TV etc.
iOS has a row of apps on the home screen.
iOS is available only on Apple devices and they tend to be expensive.
iOS does’t provide the native chat application for non-apple users.
iOS has Safari as web browser which is not available for an Android device.
iOS provides a Passbook app, which plays around debit/ card cards, but doesn’t allow wireless mobile payments.
iOS developers need to pay $99 every year for their access to iOS SDK and right to publish on app store.
iOS SDK is available for Mac only. It is a closed platform.
IOS battery cannot be replaced, hence one has to keep the charger ready to plug-in.
iOS has the largest app store. Same update is required for all devices.
As android id tied up with Google’s environment it is the driving force behind most prominent people changing from iPhone to Android.
1.5.2. Android versus Blackberry
Both Android and Blackberry are tough competitors but they serve different requirements. Let’s pen down some differences
Most Blackberries don’t have touch interface except Storm and Torch when this article was written.
Blackberry is very poor in customization. There are no widgets.
Blackberry provides a track pad for navigation. Older Blackberries had trackball for navigation.
Blackberry is dedicated towards a strong communication network. Whenever a e-mail drops in inbox, user is notified.
Blackberry is stable.
Blackberry uses its on server and hence it is much secured. But if server fails, the problem is widespread and it may take days to fix the error.
Blackberries are most suitable for those who are in certain business and need constant communication. Android gives immense user experience.
1.5.3. Android versus Windows
Windows have partnership with Nokia. As we all know now Nokia is empowered by Microsoft and it overtook the Symbian OS and placed itself in market. Let’s pen down certain points about both of them.
Windows phone uses Windows operating system which is a mix of open and closed system.
Windows target apps with end user in mind.
Windows phone must be fully booted in 30 seconds, otherwise the set spec shall not be met.
SD card can’t be replaced. With SkyDrive you can have cloud storage.
Window’s phone allows every app to open in a sandbox so that other parts of operating system are left undisturbed. It increases security.
They have the smallest but fastest growing apps store.
Windows phone can be used if security is the main concern and Android can be used if you really want your phone to act smart enough like a Smartphone should do.
Table. Different smartphones
|
31/10/2013
05/10/2013
09/10/2013
|
Comments
Post a Comment