Upload
manikanda-pandian
View
112
Download
5
Embed Size (px)
Citation preview
OPTIMIZED DALVIK VIRTUAL
MACHINE FOR MOBILE
APPLICATION
(Open source technology)
P.Karthik, Second year, MCA,
Adhiyamaan College of Engineering,
Hosur
Email-id:[email protected].
Mobile No: 9944991924
T.Manikanda pandian, Second Year,
Adhiyamaan College of Engineering,
Hosur
Email-id:
Mobile No: 8124009857
ABSTRACT:
Android is a software stack for
mobile devices that includes an operating
system, middleware and key applications.
Android is a software platform and
operating system for mobile devices based
on the Linux operating system and
developed by Google and the Open Handset
Alliance. It allows developers to write
managed code in a Java-like language that
utilizes Google-developed Java libraries, but
does not support programs developed in
native code.
The unveiling of the Android
platform on 5 November 2007 was
announced with the founding of the Open
Handset Alliance, a consortium of 34
hardware, software and telecom companies
devoted to advancing open standards for
mobile devices. When released in 2008,
most of the Android platform will be made
available under the Apache free-software
and open-source license.
INTRODUCTION:
A broad alliance of leading technology and
wireless companies joined forces and
announced the development of Android, the
first truly open and comprehensive platform
for mobile devices, on November 5, 2007.
Google Inc., Intel, T-Mobile, Sprint, HTC,
Qualcomm, Motorola and others have
collaborated on the development of Android
through the Open Handset Alliance, a
multinational alliance of technology and
mobile industry leaders.
This alliance shares a common goal of
fostering innovation on mobile devices and
giving consumers a far better user
experience than much of what is available
on today's mobile platforms. By providing
developers a new level of openness that
enables them to work more collaboratively,
Android will accelerate the pace at which
new and compelling mobile services are
made available to consumers.
With nearly 3 billion users worldwide, the
mobile phone has become the most personal
and ubiquitous communications device.
However, the lack of a collaborative effort
has made it a challenge for developers,
wireless operators and handset
manufacturers to respond as quickly as
possible to the ever-changing needs of savvy
mobile consumers. Through Android,
developers, wireless operators and handset
manufacturers will be better positioned to
bring to market innovative new products
faster and at a much lower cost. The end
result will be an unprecedented mobile
platform that will enable wireless operators
and manufacturers to give their customers
better, more personal and more flexible
mobile experiences.
Thirty-four companies have formed the
Open Handset Alliance which aims to
develop technologies that will significantly
lower the cost of developing and distributing
mobile devices and services. The Android
platform is the first step in this direction -- a
fully integrated mobile "software stack" that
consists of an operating system, middleware,
user-friendly interface and applications.
Consumers should expect the first phones
based on Android to be available in the
second half of 2008.
The Android platform is made available
under one of the most progressive,
developer-friendly open-source licenses,
which gives mobile operators and device
manufacturers significant freedom and
flexibility to design products. The Alliance
has released an early access software
development kit to provide developers with
the tools necessary to create innovative and
compelling applications for the platform.
Android holds the promise of unprecedented
benefits for consumers, developers and
manufacturers of mobile services and
devices. Handset manufacturers and wireless
operators will be free to customize Android
in order to bring to market innovative new
products faster and at a much lower cost.
Developers will have complete access to
handset capabilities and tools that will
enable them to build more compelling and
user-friendly services, bringing the Internet
developer model to the mobile space. And
consumers worldwide will have access to
less expensive mobile devices that feature
more compelling services, rich Internet
applications and easier-to-use interfaces --
ultimately creating a superior mobile
experience.
system consists of 12 million lines of
code including 3 million lines of XML, 2.8
million lines of C, 2.1 million lines of Java,
and 1.75 million lines of C++.
BIRTH OF ANDROID:
The Android platform is the product of the
Open Handset Alliance a group of
organizations collaborating to build a better
mobile phone. The group, led by Google,
includes mobile operators, device handset
manufacturers, component manufacturers,
software solution and platform providers,
and marketing companies. From a software
development standpoint, Android sits smack
in the middle of the open source world.
The first Android-capable handset on the
market was the G1 device manufactured by
HTC and provisioned on T-Mobile. The
device became available after almost a year
of speculation, where the only software
development tools available were some
incrementally improving SDK releases. As
the G1 release date neared, the Android
team released SDK V1.0 and applications
began surfacing for the new platform.
To spur innovation, Google sponsored two
rounds of "Android Developer Challenges,"
where millions of dollars were given to top
contest submissions. A few months after the
G1, the Android Market was released,
allowing users to browse and download
applications directly to their phones. Over
about 18 months, a new mobile platform
entered the public arena.
ACTIVITY
DALVIK RUNTIME:
Android includes a set of core
libraries that provides most of the
functionality available in the core libraries
of the Java programming language. 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 VMs efficiently.
The Dalvik 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.
COMPONENTS OF ANDROID:
The following diagram shows the
major components of the Android operating
system.
Fig no: 2- Components of Android
COMMON STRUCTUER OF
ANDROID:
Fig no: 3-Common structure of android
Views such as lists, grids, text boxes,
buttons, and even an embeddable web
browser
Content Providers that enable
applications to access data from other
applications (such as Contacts), or to
share their own data
An Activity Manager that manages the
life cycle of applications and provides a
common navigation backstack
A Notification Manager that enables all
apps to display custom alerts in the
status bar
A Resource Manager, providing access
to non-code resources such as localized
strings, graphics, and layout files
Broadcast receivers can trigger intents
that start an application
Data storage provide data for your apps,
and can be shared between apps –
database, file, and shared preferences
(hash map) used by group of
applications
Activity is the presentation layer of your
app: there will be one per screen, and the
Views provide the UI to the activity
Intents specify what specific action
should be performed
Services run in the background and have no
UI for the user – they will update data, and
trigger events
ADVANTAGES OF ANDROID:
There are many different cell phone
platforms to choose from today. Smart
phones have become phones that many
people have versus just professionals like it
was just a few years ago. One platform that
you can look into is Google's Android
phone. This has become a fairly popular
phone in the last year which offers some
advantages.
First of all, it's an open platform. This means
that the project is open source meaning that
its code is available for people to look at.
Generally speaking open source projects are
fairly innovative and will give you quality
features since anyone can program them into
the system.
An Android phone is guaranteed to work
with Google products. There are many
different Google products that most people
use. Whether it's YouTube, Gmail, Google
Docs or others, these will work on this
phone giving you access to a wide variety of
applications that you can use between your
phone and your computer.
Eventually this platform will work on
netbook and computers. This means that you
could have devices that share the same
platform giving you the ability to purchase
applications that will work on all your
devices
DISADVANTAGE:
Android doesn't support:
Bluetooth stereo
Contacts exchange
Modem pairing
Wireless keyboards
But it'll work with Bluetooth headsets, but
that's about it
Firefox Mobile isn't coming to Android
PLATFORMS:
Hardware :
Android is not a single piece of
hardware; it's a complete, end-to-end
software platform that can be adapted to
work on any number of hardware
configurations. Everything is there, from the
boot loader all the way up to the
applications.
Operating System(s):
Android uses Linux for its device
drivers, memory management, process
management, and networking.
The next level up contains the Android
native libraries. They are all written in C/C+
+ internally, but you’ll be calling them
through Java interfaces. In this layer you can
find the Surface Manager, 2D and 3D
graphics, Media codec’s, the SQL database
(SQLite), and a native web browser engine
(WebKit).
Dalvik Virtual Machine. Dalvik runs dex
files, which are coverted at compile time
from standard class and jar files.
Network Connectivity
It supports wireless communications using:
GSM mobile-phone technology
3G
Edge
802.11 Wi-Fi networks
Security
Android is a multi-process system, in
which each application (and parts of the
system) runs in its own process. Most
security between applications and the
system is enforced at the process level
through standard Linux facilities, such as
user and group IDs that are assigned to
applications.
Additional finer-grained security features
are provided through a "permission"
mechanism that enforces restrictions on the
specific operations that a particular process
can perform, and per-URI permissions for
granting ad-hoc access to specific pieces of
data
FEATURES OF ANDROID:
Application Framework:
It is used to write applications for
Android. Unlike other embedded mobile
environments, Android applications are all
equal, for instance, an applications which
come with the phone are no different than
those that any developer writes. The
framework is supported by numerous open
source libraries such as openssl, SQLite and
libc. It is also supported by the Android core
libraries. From the point of security, the
framework is based on UNIX file system
permissions that assure applications have
only those abilities that mobile phone owner
gave them at install time.
Dalvik Virtual Machine:
It is extremely low-memory based
virtual machine, which was designed
especially for Android to run on embedded
systems and work well in low power
situations. It is also tuned to the CPU
attributes. The Dalvik VM creates a special
file format (.DEX) that is created through
build time post processing. Conversion
between Java classes and .DEX format is
done by included “dx” tool.
Integrated Browser:
Google made a right choice on
choosing WebKit as open source web
browser. They added a two pass layout and
frame flattening. Two pass layout loads a
page without waiting for blocking elements,
such as external CSS or external JavaScript
and after a while renders again with all
resources downloaded to the device. Frame
flattening converts founded frames into
single one and loads into the browser. These
features increase speed and usability
browsing the internet via mobile phone.
Optimized Graphics:
As Android has 2D graphics library
and 3D graphics based on OpenGL ES 1.0,
possibly we will see great applications like
Google Earth and spectacular games like
Second Life, which come on Linux version.
At this moment, the shooting legendary 3D
game Doom was presented using Android
on the mobile phone.
SQLite:
Extremely small (< 500kb) relational
database management system, is integrated
in Android. It is based on function calls and
single file, where all definitions, tables and
data are stored. This simple design is more
than suitable for a platform such as Android.
Handset Layouts:
The platform is adaptable to both
larger, VGA, 2D graphics library, 3D
graphics library based on OpenGL ES 1.0
specifications, traditional smart phone
layouts. An underlying 2D graphics engine
is also included. Surface Manager manages
access to the display subsystem and
seamlessly composites 2D and 3D graphic
layers from multiple applications
Data Storage:
SQLite is used for structured data
storage .SQLite is a powerful and
lightweight relational database engine
available to all applications.
Connectivity:
Android supports a wide variety of
connectivity technologies including GSM,
CDMA, Bluetooth, EDGE, EVDO, 3G and
Wi-Fi.
Messaging:
SMS, MMS, and XMPP are
available forms of messaging including
threaded text messaging.
Web Browser:
The web browser available in
Android is based on the open-source
WebKit application framework. It includes
LibWebCore which is a modern web
browser engine which powers both the
Android browser and an embeddable web
view.
Java Virtual Machine:
Software written in Java can be
compiled into Dalvik byte codes and
executed in the Dalvik virtual machine,
which is a specialized VM implementation
designed for mobile device use, although not
technically a standard Java Virtual Machine
ANDROID APPLICATIONS:
Google maps and navigations:
Google Maps is a web mapping service
application and technology provided by
Google, that powers many map-based
services, including the Google Maps
website, Google Ride Finder, Google
Transit, and maps embedded on third-party
websites via the Google Maps API. It offers
street maps, a route planner for traveling by
foot, car, or public transport and an urban
business locator for numerous countries
around the world.
Battery indicator battery Indicator shows
your battery charge level (percent) as an
icon in your status bar, with temperature,
health, voltage, and time since plugged /
unplugged in the notification area
Photoshop mobile:
Edit creatively
Fix photos fast — crop, straighten,
rotate, flip, and adjust color.
Add borders to give photos a
polished look.
Share quickly
Email your photos to family and
friends.
Post photos to Photoshop.com,
Facebook with one tap.
Back up easily
Upload and store mobile photos to
your free Photoshop.com account.
Automatically sync any picture
you take between your mobile
device and your Photoshop.com
Library to see the same photos
wherever you are.
Shazam
Shazam uses a mobile phone's built-
in microphone to gather a brief sample of
music being played. An acoustic
fingerprint is created based on the sample,
and is compared against a central database
for a match. If a match is found, information
such as the artist, song title, and album are
relayed back to the user. Relevant links to
services such as iTunes, YouTube,
or Zune are incorporated into some
implementations of Shazam.
Facebook is a social networking
service and website launched in February
2004, operated and privately owned by
Facebook, Inc. As of July 2011, Facebook
has more than 750 million active
users. Users may create a personal profile,
add other users as friends, and exchange
messages, including automatic notifications
when they update their profile. Facebook
users must register before using the site.
Additionally, users may join common-
interest user groups, organized by
workplace, school or college, or other
characteristics.
Facebook allows any users who declare
themselves to be at least 13 years old to
become registered users of the website.
Shape writer or swipe
Shape Writer software was made available
as a free application for Android (operating
system) smart phones through the Android
Market. As a touchscreen keyboard
replacement, is had over 50,000 users on
Android worldwide. It was available only
for Android OS versions 1.6 or higher.
ShapeWriter for Android was available in 7
European languages including English,
Spanish, and German.
Using ShapeWriter text entry software, a
user draws words on a graphical keyboard
using a pen. Instead of tapping the keys, the
user draws a pen gesture that connects all
the letters in the desired word. After some
usage the user learns the movement pattern
for the commonly used words and can write
them faster than is possible on a traditional
virtual keyboard
Bump
Bump is an application created by Bump
Technologies for the Apple iOS and Google
Android operating systems. It allows two
Smartphone users to bump their phones
together to exchange contact information,
photos, and other objects between phones. It
was the billionth application downloaded on
Apple's App Store, and is the eighth most
popular free app of all time. It is free to
download for both platforms.
CONCLUSION:
On the Android platform they are an
indispensable way to enable data sharing
between applications. If your application
becomes the first big hit on Android, the
data generated could be easily shared. There
are a lot of exciting possibilities being
generated from the Android platform, so to
best take full advantage of these possibilities
now and in future
REFERENCE:
www. developer.android.com
www.anddev.org
www. stuffthathappens.com
www. en.androidwiki.com
www.android.com
www. en.androidwiki.com