Download i. introduction - Academic Science,International Journal of Computer

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CROSS PLATFORM FOR MOBILE COMPUTING
Richa Dhakan,
First Author Affiliation
[email protected]
Akshay Gujar,
Pratik Mache
Apurv Manjrekar
Second Author Affiliation
Third author Affiliation
Fourth author affiliation
[email protected] [email protected] [email protected]
Purpose of this project is to do the tasks of converting
the android application into the J2ME application on the
Sender/Receiver through Cross Platform Server.
Abstract— Rapid enhancements in computing power,
memory display and other features have boosted mobile
phones as a platform to deploy and execute a variety of
applications. in this world of Smartphones and other
various gadgets Google's open-source Android mobile
platform has been a powerful competitor of mobile
operating system. As it adopts the virtual machine Dalvik
which is different from SUN Java and its Java application
developing framework and API are absolutely different
from J2EE. A number of mature Android applications
cannot be applied on J2ME platform. Thus the general
resolution of transplanting Android applications onto
J2ME platform not only protects the existing investment
but also enriches the applications on J2ME platform.
since the goal of every cross-platform development
framework is to simplify the development and
maintenance of mobile applications across multiple
platforms. inter-conversion of Android and J2ME apps
not only converts applications but also has Peripheral
features like real time backup of SMS, contacts and call
logs. Additional feature of storing and retrieving all of the
users multimedia files[6].
Cross Platform Software system is designed to
install the software like Jdk1.6, Symbian & Android OS,
Oracle 10g. The licensed copy of this software is stored in
storage server which is used by sender/receiver for
installation purpose.
Due to wireless networks feature of being open and
the deficiency of wireless protocol; more and more means of
Attack have been offered, therefore it is important to share
secret password between sender and recipient.
II. LITERATURE SURVEY
A mobile phone (also known as a cellular phone, cell
phone and a hand phone) allows calls into the public switched
telephone system over a radio link. Early mobile phones were
usually bulky and permanently installed in vehicles; they
provided limited service because only a few frequencies were
available for a geographic area. Modern mobile phones make
use of the cellular network concept, where frequencies are
re-used repeatedly within a city area, allowing many more
users to share access to the radio bandwidth. A mobile phone
allows calls to be placed over a wide geographic area;
generally the user is a subscriber to the phone service and
does not own the base station. By contrast, a cordless
telephone is used only within the range of a single, private
base station. Mobiles are also playing a role of mass storage,
but all this becomes futile if you don’t have the device
physically with you. You cannot access this data remotely.
Index Terms— Cross Platform, Mobile Computing, App
Converter.
I. INTRODUCTION
Mobile Computing and its vast applications is the
present day’s most widespread technology. Mobile operating
systems demonstrate six different leading platforms, each an
island onto itself with a set of applications developed for that
platform alone using the designated Software Development Kit
(SDK). In order to develop the same application on different
platforms, end-users have to learn x-many development
frame works and duplicate effort everywhere becomes an
overwhelming prospect. This paper provides solution for
operating an application on two different mobile operating
systems ‘Android’ and ‘Windows Mobile’, i.e. development of
an application in cross platform environment.
Android is a linux-based operating system designed
primarily for touch screen mobile devices such as smart
phones and tablet computers. Google currently develops it in
conjunction with the Open Handset Alliance. Android has a
large community of developers writing applications ("apps")
that extend the functionality of devices, written primarily in a
customized version of Java. They are available for download
through Google Play or third-party sites[3].
The main objective of our project is to convert
android apps into J2ME apps. In this project we are
converting the source code of an android .apk app into a .jar
file. We are also giving a provision for backing up all your
contacts, SMS and call logs onto our server. There is also a
provision for backing up and restoring the various multimedia
and/or text files that may be present on the users mobile. The
user data will be kept securely on the server using username
and password authentication.
Applications are developed in the Java language
using the Android software development kit (SDK). The
SDK includes a comprehensive set of development
tools, including
a debugger, software
libraries,
a
handset emulator based on QEMU, documentation, sample
code, and tutorials. The officially supported integrated
development environment (IDE) is Eclipse using the Android
Development Tools (ADT) plug-in. Other development tools
are available, including a Native Development Kit for
1
applications or extensions in C or C++, Google App Inventor,
a visual environment for novice programmers, and
various cross platform mobile web applications frameworks.
system (OS). It uses a graphical interface, very similar to
Scratch and the Star Logo TNG user interface that allows
users to drag-and-drop visual objects to create an application
that can run on the Android system, which runs on many
mobile devices.
The biggest feature that Android SDK has is its
support for backward compatibility of its Apps on various
version of Android. This is achieved by using a API that
Android SDK provides named <uses-sdk> this lets you
express an application's compatibility with one or more
versions of the Android platform, by means of an API Level
integer. The API Level expressed by an application will be
compared to the API Level of a given Android system, which
may vary among different Android devices. Despite its name,
this element is used to specify the API Level, not the version
number of the SDK (software development kit) or Android
platform. The API Level is always a single integer. You
cannot derive the API Level from its associated Android
version number (for example, it is not the same as the major
version or the sum of the major and minor versions)[5].
Mobile Phone is the most widely spread technology
and the most common gadget used in the world. The ability to
keep in touch with family, business associates and access to
email are a few of the reasons for the increasing importance of
cell phones.
Along with the user authentication for a mobile
device, identity authentication is the first line of defense in the
security application system to access the mobile network
resources. Mobile phones have an added security advantage
due the presence of a unique IMEI number for each mobile.
Google's open-source Android mobile platform has
been a powerful competitor of mobile operating system and
drawn the attention of the leading manufacturers of the
industry and became a hot spot of research. As it adopts the
virtual machine Dali which is different from SUN Java and its
Java application developing framework and API are
absolutely different from J2EE, a number of mature J2ME
applications cannot be apply on Android platform.
Wi-Fi, an acronym for "Wireless Fidelity", is a set of
project compatibility standards for Wireless Local Area
Networks (WLAN) based on the IEEE 802.11 specifications
.It enables a person with a wireless-enabled computer or
personal digital assistant (PDA) to connect to the Internet
when in proximity of an access point.
Cross Platform Mobile Computing is helpful in
Real-Time Mobile Tracking and universal interaction is an
appealing option for replacing primitive methods of using a
mobile system.
Wi-Fi allows to connect to the internet from virtually
anywhere at speeds of up to 54Mbps.The computers and
handsets enabled with this technology use radio technologies
based on the IEEE 802.11 standard to send and receive data
anywhere within the range of a base station[2].
To design a system which performs the tasks of
converting the android application into the J2ME application
on the Sender/Receiver through Cross Platform Server. Cross
Platform Software system is designed to install the software
like Jdk1.6,Symbian & Android OS, Oracle 10g. The licensed
copy of this software is stored in storage server which is used
by sender/receiver for installation purpose.
Currently existing technology:
Currently, a company named UponTek
(upontek.com) provides the service of converting .jar file
to .apk file. It is commercial software. The user needs to
send them the .jar file and they return the corresponding
.apk file. However, it is not open source and there is no
guarantee that the converted file will work properly.
Also the conversion is not instantaneous. They take
about a week’s time to do it
.
There is software called Netmite J2ME App
Runner. It is an android .apk application which makes it
possible to run .jar games and applications on your
android smart phone. Netmite J2ME app runner tool for
android is an application which you can install on your
android device and then using it you can run any java
applications. It is simply an emulator and is incapable of
converting the .jar file to a .apk file.
This cross platform application will be helpful for
communication or application software for J2ME to Android
application.




Convert android code to J2ME platform.
Compile Android code.
Develop J2ME client application.
Develop Android client application.
The intended audience is anyone who wishes to
convert their android apps into J2ME apps and wishes to
keep a backup of all his contacts, messages, call logs and
multimedia files.
J2ME development projects ported to the android
platform could effectively enrich the application of the
Android platform and also promote the rapid adoption of the
Android platform and development but the android design, a
new model of virtual machine Dali rather than the Java virtual
machine is used. Also the data storage, network data and other
III.TECHNOLOGY
Is an application originally provided by Google, and
now maintained by the Massachusetts Institute of Technology
(MIT).It allows anyone familiar with computer programming
to create software applications for the Android operating
2
aspects of API have differences first compare similarities and
differences between virtual machines.
KVM is a port in the island of E in the CLDC virtual
machine can be said to be JVM in small and relatively
primitive version. Dali is Google’s own developed virtual
machine to avoid the SUN Google and other copyright issues
and the company of J2ME development. It is suitable for low
memory requirements.
The purpose is to allow multiple VM instances
running at once, depending on the underlying operating
system memory management and threading support. Dali
differs from Java virtual machine because the byte code is not
in its operation. The Java byte code, Dex by byte codeali and
KVM are also having many differences such as can run Dali
dex file is a file and run the class file KVM Dali. Compiled
class files can only be identified after dex byte code and E of
the island population KVM Java byte code can only be
identified. Dali is based on register, KVM is based on the
branch. It is also Android and J2ME virtual vary, leading to
the mouth ME application level cannot run directly on
Android[1].
Fig No 1: System Architecture
 The generated equivalent parse tree can be converted to a
CFG which can in turn be compiled into a .apk file using
an android compiler.
 Also techniques like method mapping, object mapping, etc.
will be needed to be performed.
 For example, User interfaces in J2ME are created using
java forms, whereas in android java, we use XML files
for this purpose. Elements are nested in the XML file
exactly as they will be nested in the object hierarchy. This
is a very convenient and natural way to construct a user
interface.
System ArchitectureA 'Multi-tier', often referred to as 'three-tier' or
'n-tier,' architecture provides greater application scalability,
lower maintenance, and increased reuse of components.
Three tier architecture offers a technology neutral method of
building Client/Server applications with vendors who employ
standard interfaces which provide services for each logical
'tier’ through standard tried interfaces, services are made
available to the application.
A single application can employ many different
services which may reside on dissimilar platforms or are
developed and maintained with different tools. This approach
allows a developer to leverage investments in existing
systems while creating new application which can utilize
existing resources.
Algorithm:
 Upload .apk source file.
 Tokenize it and store appropriate content in symbol table
and literal table.
 Now suppose we encounter a statement like
System.out.println, then a parse tree for it will be
generated and an equivalent tree in android java will be
created for this tree.
Fig No 2: Tree for J2ME-Android Relationship
 For example, consider the following two equivalent trees
for the statement System.out.println:
IV.EXPERIMENTAL SETUPS AND RESULTS
While developing this system, we executed almost
hundred applications which were hardware compatible with
J2ME phones using mapping functions. We worked for the
 We shall be using top down parsing technique.
3
[1.] Butler M., Android:Changing the Mobile Landscape”
IEEE Pervasive ComputingVolume: 10, Issue:1,Digital
Object Identifier: 10.1109/MPRV.2011.1 Publication Year:
2011.
success ratio of total apps tested with apps those gave positive
results. The results that we got are displayed below. We can
see that 85% success rate is achieved.
POSITIVE APPLICATIONS
[2] “Sharing Enriched Multimedia Experiences across
Heterogeneous
Network
Infrastructures”
IEEE
Communications Magazine June 2010
90
80
[3] Damianos Gavalas and Daphne Economou, “Platforms for
Mobile Applications:
Status and Trends”, IEEE
SOFTWARE,JANUARY/FEBRUARY 2011
70
60
50
[4.] “Development of agent-based, peer-to-peer mobile
applications on ANDROID with JADE.” The Second
International Conference on Mobile Ubiquitous Computing,
Systems, Services and Technologies. DOI 10.11.09
POSITIVE
APPLICATIONS
40
30
20
[5.] “MobiVine - A Middleware Layer to Handle
Fragmentation of Platform Interfaces for Mobile
Applications”, IBM Research Report, RI 09009 April 27,
2009.
10
0
0-10 0 - 30 0-50 0-70 0-90
[6.] ] A Solution for Application Transplantation from J2ME
to Android 2010 Intemational Conference on Future
Information
Technology
and
Management
EngineeringXiaφhua Meng ,Ye-xiang Ou School of
Fig No. 3 Graph of Positive Results
V. CONCLUSION
Information Science andTechnology, Jinan Univers坷,
Guangzhou510632,China
Thus, creating a medium of converting android based
apps efficiently working in symbian phones, we can have
platform independent apps. File sharing and retrieval can be
more efficient. No need of purchasing expensive mobile
systems. You can surf the Internet and Connect with the whole
world by Mobile.
VI. FUTURE ENHANCEMENT
1. J2ME to Blackberry Conversion:
Currently so many Smartphone manufacturers
support J2ME apps and even BlackBerry smart phones have
become J2ME compatible. BlackBerry has been one of the
market leaders with a strong customer base. BlackBerry has
its own Java Virtual Machine and also comes with additional
APIs. And with this Smartphone supporting J2ME, users can
expect more entertainment and utility applications.
2. J2ME Apps for iPhone:
Steve Jobs had a problem with Java. He has
effectively killed Java applications from the Max OS X as
well as the iPhone and iPad .Java may have stability issues on
the Mac OS.
VII.REFERENCES
4