13
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: [email protected] 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.

Optimized Dalvik Virtual Machine for Mobile Application( Open Source Technology)

Embed Size (px)

Citation preview

Page 1: Optimized Dalvik Virtual Machine for Mobile Application( Open Source Technology)

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:

[email protected]

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

Page 2: Optimized Dalvik Virtual Machine for Mobile Application( Open Source Technology)

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.

Page 3: Optimized Dalvik Virtual Machine for Mobile Application( Open Source Technology)

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.

Page 4: Optimized Dalvik Virtual Machine for Mobile Application( Open Source Technology)

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:

Page 5: Optimized Dalvik Virtual Machine for Mobile Application( Open Source Technology)

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

Page 6: Optimized Dalvik Virtual Machine for Mobile Application( Open Source Technology)

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

Page 7: Optimized Dalvik Virtual Machine for Mobile Application( Open Source Technology)

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

Page 8: Optimized Dalvik Virtual Machine for Mobile Application( Open Source Technology)

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

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

Page 9: Optimized Dalvik Virtual Machine for Mobile Application( Open Source Technology)

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