Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
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