1. Android: Revolutionizing Mobile Devices
Mr. Ritesh R. Puthran Ms. Aarti A. Patil
Associate Consultant, Lecturer,
Cybercom Datamatics Information Solutions (CDIS) Shree L.R.Tiwari College of Engineering
puthranritesh@gmail.com aarti.patil21@gmail.com
Abstract - In this time of immense globalization the need for their Android Phone. And then in January 2010 Google
collaborative tools and devices are the bear necessity of life. We launched its first phone the Nexus One. The Nexus One is
feel the need to be connected to the people we know both
branded as the Google phone but is manufactured by the
personal and professional, get information on the go. Mobile
devices is no more a mere medium of communication, it Taiwanese company HTC which also made the first Android
incorporates technologies like GPS, Touch Screen, phone.
Accelerometer, etc. The Google’s Android OS takes all these
things into consideration and hence been so famous among the III. ANDROID’S MARKET SHARE
masses ever since its launch. In this paper we will review Following are some of the reports showing Android’s
Android as a platform, what’s so different of Android compared current market share and predictions on future. The Q1 2010
to existing mobile OS in market, its current market share and Insights by Nielsen shows that Android has a 9% hold over
some of the predictions on its future market share. We will then
the market which is 2% higher than the previous quarter. Also
go through the architecture of Android as a Mobile device
platform, and look at the steps to setup Android Application the market share of Windows mobile and RIM Blackberry has
Development environment on a machine and develop a simple dipped by 2%.
Hello World Application using Android SDK.
I.INTRODUCTION
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. Android’s base is a Linux
kernel 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, WebKit, OpenGL, and a
Media Manager. Android’s runtime which is used to host and
execute Android’s 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
It all started with the acquisition of Android Inc. by Google Fig. 1 Platform wise Market Share holding Q1 2010
in the year 2005.Android Inc was a small company based in
Palo Alto. Then in the year 2007 Google along with 50 other Some of the 2012 predictions made by Gartner show an
handset manufacturers and mobile operators formed the Open immense growth in the Android Market share.
Handset Alliance (OHA). OHA was formed with the vision to
provide open source technologies in the field of mobile Predictions show that by the end of 4th quarter of 2012
devices. Along with the launch of OHA Google released the Android would have 14.5% market share. Android will be
first version of Android’s SDK. The first phone to be surely the fastest growing Mobile OS by then and would have
launched with Android was the T-Mobile G1 and is also surpassed iPhone OS by then in terms of both market share
known as the HTC Dream or the Google G1 dev-phone. In the and number of units sold.
year 2009 other Handset manufacturers from the OHA like
Samsung, Sony Ericsson, HTC, LG, and Motorola launched
2. V. ANDROID ARCHITECTURE
Fig. 3 Android Architecture Diagram
A. Linux Kernel :
Android makes use of Linux 2.6 kernel to provide core
Fig. 2 Platform wise market share predictions 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
IV.WHAT’S DIFFERENT OF ANDROID? of the software stack.
A. Customers Perspective : B. Android Runtime:
From a customer’s perspective he will get a much Android’s Runtime includes some core libraries and
cheaper smart phone compared to existing smart Dalvik Virtual Machine. The Android’s runtime gives the
phones developed using proprietary OS. More Active android like functionalities to the entire software stack.
Developer Community means larger collection of
i) Core Libraries:
Applications to choose from Android Market.
Android includes a set of core libraries that
B. Developers Perspective: provides most of the functionality available in the
First Mobile OS which is Open in full sense. core libraries of the Java programming language plus
Android doesn’t differentiate between its core some additional libraries specific to Android.
applications and the third party applications. No
ii) Dalvik Virtual Machine (DVM):
Review Process to sell third party Application’s in
the market. Unlike the Apple Store, the Android
market doesn’t 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
Emulator’s to eclipse plug-ins and many more tools
are provided in the kit.
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
3. own instance of the Dalvik virtual machine. Dalvik front ends and functionality extensions, or otherwise build on
has been written so that a device can run multiple them.
VMs efficiently. The Dalvik VM executes files in the The following application services are the architectural
Dalvik Executable (.dex) format which is optimized cornerstones of all Android applications, providing the
for minimal memory footprint. The VM is register- framework you’ll be using for your own software:
based, and runs classes compiled by a Java language
compiler that have been transformed into the .dex 1. Activity Manager:
format by the included "dx" tool. Controls the life cycle of your Activities, including
management of the Activity stack.
The Dalvik VM relies on the Linux kernel for
underlying functionality such as threading and low- 2. Views:
level memory management. Used to construct the user interfaces for your Activities.
C. Libraries: 3. Notification Manager:
Running on top of the Linux kernel are a set of C/C++
Provides a consistent and nonintrusive mechanism for
core libraries which are used by various components of the
signaling your users.
Android system. These libraries are exposed to the
applications with set of Android Application Framework. 4. Content Providers:
Some of the libraries are:
Let your applications share data.
i. A media library for playback of audio and video
5. Resource Manager:
media.
ii. A surface manager to provide display Supports non-code resources like strings and graphics to
management. be externalized.
iii. Graphics libraries that include OpenGL and SGL
for 2D and 3D graphics. VII. DEVELOPING FIRST ANDROID APPLICATION
iv. SQLite for Relational Database support. We will now guide you through the steps to configure a
v. WebKit for web browser. development environment on your machine and develop a
basic hello world application in it. Android supports
D. Application Framework: application development on Windows, Linux, & Mac OS. But
By providing an open development platform, Android for scope of this paper we will only consider that the
offers developers the ability to build extremely rich and development environment machine is running on windows XP
innovative applications. Developers are free to take or above.
advantage of the device hardware, access location
information, run background services, set alarms, add 1. Installing Prerequisites :
notifications to the status bar, and much, much more. i. Java: All Android applications are developed
Developers have full access to the same framework APIs using Java as a programming language. So the machine
used by the core applications. Some of the Application on which we are developing must have java installed in
frameworks are Views, Content Providers, Resource it. Install Java SDK 5 or above. You can download java
Managers, Notification Manager, and Activity Manager. from http://java.sun.com/javase/downloads/index.jsp.
ii. Android SDK: The Android SDK has the entire
E. Applications:
package of emulators, debugging tools, device manager
All Application’s, both native and third party are built and many more things. The Android SDK is free to use
on this application layer using the API libraries. The and to distribute. You can download the SDK from
application layer run within the Android’s runtime, using the http://developer.android.com/sdk/index.html
classes and services made available from the application
framework. Android comes pre-shipped with some basic iii. Eclipse IDE (optional): Using Integrated
applications such as email client, contact, phone, home Development Environment makes the work of
screen, and Gmail client which are all developed in java. developing software very simple and fast. Google
Provide Android Development Tools (ADT) plug-ins
VI. ANDROID’S APPLICATION ARCHITECTURE for eclipse IDE. We will make use of those to develop
Android’s architecture encourages the concept of our hello world application. There are many variations
component reuse, enabling you to publish and share of these IDE available; Eclipse 3.4 or 3.5 (Galileo) is
Activities, Services, and data with other applications, with preferred for Android. You can download Eclipse IDE
access managed by the security restrictions you put in place. from http://www.eclipse.org/downloads/
The same mechanism that lets you produce a replacement iv. Installing Plug-in into Eclipse (optional): Now
contact manager or phone dialer can let you expose your once the eclipse is installed. We will now install the
application components to let other developers create new UI
4. ADT into eclipse. Start your eclipse software, select run. Run the SDK and AVD manager application. Select
help and then install new software. Windows will pop- Virtual devices. Create a new device. Give a device name.
up requesting for a URL to be provided to download Select appropriate target version of your choice. Enter
the plug-in from. Add https://dl- some memory limit to your virtual device. Select the
ssl.google.com/android/eclipse/ under the Work with screen type of your device. Once all done click on the
section in the window. Select all from the list which is create AVD button. This will create a virtual device for
generated to be installed and press next. You will see a you which you can use to run your applications on.
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.
Fig. 7 Creating AVD window
3. Creating a 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
Fig. 5 Eclipse window for installing plug-in Eclipse IDE and our Hello Android will be ready to
run.
Once the installation is done eclipse will prompt you to Select File then new and then Project, select Android
restart. Once Restarted select Windows and then Project. A window pops-up requesting you to enter the
preferences, now a window will pop-up which shows project details.
some list on left side. Select Android. To the right side
of this window you will have a text field stating the
SDK location. Browse through the location to your
Androids 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.
Fig. 6 Eclipse window for adding android preferences
2. Creating Android Virtual Device (AVD)
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 Fig. 8 Creating Android Project
5. 1. Project Name: in this case HelloAndroid
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.
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.
VIII.CONCLUSION
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.
REFERENCES
[1] Reto Meier, Professional Android 2 Application
Development, 2010
[2] PETER GRUNDSTRÖM, Mobile Development for
iPhone and Android, Available:
www.csc.kth.se/utbildning/kandidatexjobb/teknikman
agement/2010/grundstrom_peter_K10054.pdf, 2010
[3] Dot Com Infoway - Position Paper, Android by 2012 A
study on present and future of Google's Android
[4](2011)The Android Developer Guide.
[Online].Available:
http://developer.android.com/guide/index.html