Anda di halaman 1dari 6

Android Revolutionizing devices

R.Varun Kumar
B.E CSE (II-year) K.S.R Institute for Engineering and Technology Tiruchengode

B.E CSE (II-year) K.S.R Institute for Engineering and Technology Tiruchengode

Abstract-In this time of immense globalization the need for collaborative tools and devices are the bear necessity of life. We feel the need to be connected to the people we know both personal and professional, get information on the go. Mobile devices are no more a mere medium of communication it incorporates technologies like GPS Touch Screen, Accelerometer, etc. The Googles Android OS takes all these things into consideration and hence been as famous among the Android as a platform, whats so different of Androi d compared current market share and predictions on future masses ever since its launch. In this paper we will review Android as a platform, whats so different of Android compared to existing mobile OS in market, its current market share and future market share. We will then some of the predictions on its go through the architecture of Android as a Mobile device platform, and look at the steps to setup Android Application Development environment on a machine and develop a simple Hello World Application using Android SDK.

the Open Handset Alliance (OHA). OHA was formed with the vision to provide open source technologies in the field of mobile devices. Along with the launch of OHA Google released the first version of Androids SDK. The first phone to be launched with Android was the T-Mobile G1 and is also known as the HTC Dream or the Google G1 dev-phone. In the year 2009 other Handset manufacturers from the OHA like Samsung, Sony Ericsson, HTC, LG, and Motorola launched their android phone. And then in January 2010 Google launched its first phone the Nexus One. The Nexus One is marked as the Google phone but is manufactured by the Taiwanese company HTC which also made the first android phone. III. ANDROIDS MARKET SHARE



Android is an open source software stack for mobile devices which includes Operating System, Core Libraries, Middleware, Application Framework & some collection of Applications developed by Google. Androids base is a Linuxkernel which provides low level interface with the hardware, memory management, process control, and security. It also provides a collection of open source libraries for application development, including SQLite, Web Kit,OpenGL, and a Media Manager. Androids runtime which is used to host and execute Androids application consists of Dalvik Virtual Machine and core libraries which provide android specific functionalities. Android also provides an application framework which exposes the system services to the application layer. Android comes with some preinstalled applications such as contact, home, phone application. And finally there is software development kit which includes tools, device emulators, eclipse plug-ins, and documentation. II. HISTORY TO ANDROID

Following are some of the reports showing Androids current market share and predictions on future. The Q1 2010 Insights by Nielsen shows that Android has a 9% hold over the market which is 2% higher than the previous quarter. Also the market share of Windows mobile and RIM Blackberry has dipped by 2%.

Fig. 1.

Platform Wise Market Share Holding Q1 2010

It all started with the acquisition Android Inc. by Google in the year 2005. Inc was a small company based in Palo Alto. Then in the year 2007 Google along with 50 other handset manufacturers and mobile operators formed

Some of the 2012 predictions made by Gartner show an immense growth in the Android Market share.

Predictions show that by the end of 4th quarter of 2012 Android would have 14.5% market share. Android will be surely the fastest growing Mobile OS by then and would have surpassed iPhone OS by then in terms of both market share and number of units sold.

Fig. 3.

Android Architecture Diagram

Fig. 2. Platform using Market Share Prediction

Linux Kernel:


WHATS DIFFERENT OF ANDROID? A. Customer Perspective:

Android makes use of Linux 2.6 kernel to provide core system services such as hardware drivers, process control, memory management, security, network stack. The kernel also acts as the abstraction layer between the hardware and the rest of the software stack. B. Android Runtime:

From a customers perspective he will get a much cheaper smart phone compared to existing smart phones developed using proprietary OS. More Active Community means larger collection of Developer Applications to choose from Android Market. B. Developers Perspective:

Androids Runtime includes some core libraries and Dalvik Virtual Machine. The Androids runtime gives the android like functionalities to the entire software stack.

First Mobile OS which is Open in full sense. Android doesnt differentiate between its core and third party application. Review Process to sell third party Applications in the market. Unlike the Apple Store, the Android market doesnt have a review process to check for third party applications before they can be sold in the Android market. Third party companies and application developers are free to develop and sell their applications on the Android Market. Android allows you to access the core mobile device functionality such as making a phone call and sending SMS using standard API calls. The SDK provided by Google has all a developer needs to build and run an Android application. From Device Emulators to eclipse plug-ins and many more tools are provided in the kit. V. ANDROID ARCHITECTURE

Core Libraries:

Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language plus core some additional libraries specific to Android.


Dalvik Virtual Machine (DVM):

Fig. 4.

.java to .dex conversion flow chart

DVM is a java interpreter machine, completely optimized for android platform and which is designed to run on low end memory mobile devices. Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool. The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low level memory management. C. Libraries:



Running on top of the Linux kernel are a set of C/C++ core libraries which are used by various components of the Android system. These libraries are exposed to the applications with set of Android Application Framework. Some of the libraries are: i) A media library for playback of audio and video media. ii) A surface manager to provide display management. iii) Graphics libraries that include OpenGL and SGL for 2D and 3D graphics. iv) SQLite for Relational Database support. v) WebKit for web browser. D. Application Framework:

Androids architecture encourages the concept of component reuse, enabling you to publish and share Activities, Services, and data applications, with other access managed by the security restrictions you putin place. The same mechanism that lets you produce a replacement contact manager or phone dialer can let you expose your application components to let other developers create new UI front ends and functionality extensions, or otherwise build on them. The following application services are the architectural corner stones of all Android applications, providing the framework youll be using for your own software: 1. Activity Manager: Controls the life cycle of your Activities, including management of the Activity stack. 2. Views: Used to construct the user interfaces for your Activities. 3. Notification Manager: Provides a consistent and nonintrusive mechanism for signaling your users. 4. Content Providers: Let your applications share data. 5. Resource Manager: Supports non-code resources like strings and graphics to be externalized. VII. DEVELOPING FIRST ANDROID APPLICATION

By providing an open development platform Android offers developers the ability to build extremely rich and innovative applications. Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar, and much, much more. Developers have full access to the same framework APIs used by the core applications. Some of the Application frameworks are Views, Content Providers, Resource Managers, Notification Manager, and Activity Manager. E. Applications:

We will now guide you through the steps to configure a development environment on your machine and develop a basic hello world application in it. Android supports application development on Windows, Linux, & Mac OS. But for scope of this paper we will only consider that the development environment machine is running on windows XP or above. 1. Installing Prerequisites: i. Java:All Android applications are developed using Java as a programming language. So the machine on which we are developing must have java installed in it. Install Java SDK 5 or above. You can download from p. ii. Android SDK: The Android SDK has: package of emulators, debugging tools, device manager and many more things. The Android SDK is free to use and to distribute. You can download the SDK from

All Applications, both native and third party are built on this application layer using the API libraries. The application layer run within the Androids runtime, using the html classes and services made available from the application framework. Android comes pre-shipped with some basic applications such as email client, contact, phone, home screen, and Gmail client which are all developed in java.

iii. Eclipse IDE (optional): Using Integrated Development Environment makes the work of developing software very simple and fast. Google Provide Android Development Tools (ADT) plug-ins for eclipse IDE. We will make use of those to develop our hello world application. There are many variations of these IDE available; Eclipse 3.4 or 3.5 (Galileo) is preferred for Android. You can download Eclipse IDE from
Fig. 6. Eclipse window for adding android preferences

iv. Installing Plug-in into Eclipse (optional): Now once the eclipse is installed. We will now install the ADT into eclipse. Start your eclipse software, select help and then install new software. Windows will popup requesting for a URL to be provided to download the plug-in from. Add the Work with section in the window. Select all from the list which is generated to be installed and press next. You will see a window for license agreement, agree to the license and carry on with the installation. If you get and warnings pop-up in between the installation ignore it and press ok button to it.


Creating Android Virtual Devices(AVD):

Fig. 7.

Creating AVD Window

Fig. 5.

Eclipse window for installing plug-in

Once the installation is done eclipse will prompt you to restart. Once Restarted select Windows and then preferences, now a window will pop-up which shows some list on left side. Select Android. To the right side Browse through the location to your Androids SDK of this window you will have a text field stating the SDK location. Browse through the location to your Android SDK. List of all available Android SDK will be listed select one click on the apply button and then Ok button. This completes your setting up of the eclipse IDE with Android SDK

Now as all the setup is done the last thing you need to do is to create a Virtual device on which your application will run. Run the SDK and AVD manager application. Select Virtual devices. Create a new device. Give a device name. Select appropriate target version of your choice. Enter some memory limit to your virtual device. Select the screen type of your device. Once all done click on the create AVD button. This will create a virtual device for you which you can use to run your applications on.


Creating an Android Project:

By default on creating a simple Android Project in Eclipse the hello Android is implemented implicitly. So we just have to create a proper Android project on our plug-in Eclipse IDE and our Hello Android will be ready to run. Select File then new and then Project, select Android Project. A window pops-up requesting you to enter the project details. 1. Project Name: in this case Hello Android 2. Content: check create a new project in workspace

3. Build Target: select SDK version of your choice. Note that you need to have AVD of that version or advanced version created. 4. Application Name: This is the name that comes up on the device.

Integrated browser based on the open source WebKit engine Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)

SQLite for structured data storage Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)

GSM Telephony (hardware dependent) Bluetooth, EDGE, 3G, and WiFi (hardware dependent) Camera, GPS, compass, and accelerometer (hardware dependent) Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE

Fig. 8.

Creating Android Project



5. Package Name: a package structure for your application code. 6. Create Activity: check on this box and give a Java classified name. This will be the name of the activity Java file. 7. Min SDK Version: this is the API Level of the target you have checked. Once all these details are filled just click finish and your first Android application is ready to run. Right click on the project folder select run as & then Android Application. This must initiate AVD and you must be able to see a Hello Android Displayed on your AVD screen.

Android as we know is the worlds most popular mobile platform. Till now we have seen many versions of Android being released, but did you notice that these versions have been released in alphabetical order. Also all the versions are named after desserts.



Application framework enabling reuse and replacement of components Dalvik virtual machine optimized for mobile devices
Fig. 9. Versions of Android till Date

These versions have been released in alphabetical order: Cupcake, Donut, clair, FroYo (frozen yogurt), Gingerbread, Honeycomb, Ice Cream Sandwich, and Jelly Bean. Android versions history involves the versions updates from 1.0 till date. Here is the list of different Android version with their releasing date: Android 1.0 - Release Date: September 23, 2008 Android 1.1 - Release Date: February 9, 2009 Android 1.5 Cupcake Release Date: April 30, 2009 Android 1.6 Donut - Release Date: September 15, 2009 Android 2.0/2.1 clair Release Date: October 26, 2009 Android 2.2 FroYo Release Date: May 20, 2010 Android 2.3 Gingerbread - Release Date: December 6, 2010 Android 3.0 Honeycomb - Release Date: February 22, 2011 Android 4.0 Ice Cream Sandwich - Release Date: October 19, 2011 Android 4.1 Jelly Bean - Release Date: July 9, 2012. X. FUTURE ANDROID OS:

Sugar Cookie Quince sorbet Tutti Frutti and a lots more



We have reviewed Android from the market share, Android as a Mobile Platform, and from application development perspective. And in all the areas which are reviewed Android proves its point way ahead of all its competitors. But there are still some areas where Android is lagging a bit, like the data synchronization with PC, document processing.



[1] Reto Meier, Professional Android 2 Application Development, 2010 [2] PETER GRUNDSTRM, Mobile Development for iPhone and Android, Available: agement/2010/grundstrom_peter_K10054.pdf, 2010 [3] Dot Com Infoway - Position Paper, Android by 2012 A study on present and future of Googles Android [4](2011)The Android Developer Guide. [Online].Available:

Fig. 10.

Future Versions of Android (Key Lime Pie)



Liquor ice Marshmallow Nougat Peppermint