Introduction and background
The increased use of handheld devices has derived a need to develop such an application for cloud computing that a user can use it from his handheld device. The proposed project will aim to enquire and discuss the need to develop such an application for android devices along with developing the mobile application on based on cloud computing.
Technology has become an essential part of lives. Each one of us uses technology as a medium to preserve our data. But with advancement of technology the users are trying to find a much safer place to preserve their data to reduce the probability of its theft. (Strickland, 2012)Thus to ensure more security and a better medium to preserve the user’s data, cloud computing has been introduced that allows the users to save data online. Cloud Computing allows one to preserve your data online allowing them to access it from anywhere around the globe. Not only the concerned user but the other people associated with the data can access that data. The most important requirement for this to happen is the secure access to this service that will help us to synchronizs your data between the device and the online server. (Kartik, 2012)
- Inexpensive and easy to use
- Exchange of files from one server to another
- Easy access of your files
- High performance
- Security for our data (kartik, 2012)
Even though there are able mentioned benefits available, yet only services like Dropbox, Skydrive, Yahoo and Google Drive provide the service of cloud computing for users. But the clients for these services are currently low in numbers, especially for handheld devices. Thus it is necessary to develop an application for android platform in this regard. (Eric Knorr, 2012)
- The aim of this project is to discuss the development of a Web application dedicated for Cloud computing that will work on Android Smartphones and design the application using the JAVA programming that runs on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel.
The objectives of the project will include :
- Collecting information regarding the use of Software stack for mobile devices.
- Use of JAVA programming and Dalvik
- And an insight to Android SDK
- Develop an application for cloud computing for android platform that should be user friendly that is easy to use.
- Make the application secure, robust and scalable.
First we have to check that with which cloud services we are going to associate our mobile application. Though there are many options to choose from but here we will analyse Google Drive and Amazon.
Each web based cloud service has a folder which is named as “Magic Folder”. This folder gets created on the desktop that acts as a medium between your device and the web and sync the files from device to web. But the Amazon Cloud Drive is different. The folder here works like a locker. You can copy files and folders onto it for storage in the cloud, and you can copy them back down to your desktop. The other main advantage of Amazon over Google drive is that a user can store and play his/her music through the Web interface from any device.
Moreover the Amazon cloud drive offers cheap or inexpensive plans for the users to store their data online. The plans are shown in the screenshot below.
Thus after analysing these factors we have come to a decision of using Elastic Beanstalk that is operated by Amazon Web Services for our project.
AWS Elastic Beanstalk is considered an easy way for handling and deploying the applications in the AWS cloud. We can simply upload our applications onto it and it will handle all the issues related to capacity provisioning, load balancing, auto-scaling, and application health monitoring etc.
To develop a mobile application for android Smartphones, a software stack known as “Android Platform” will be required that includes an operating system, middleware and key applications. development of an android application shall include use of Android SDK. The applications shall be coded/written with the use of JAVA programming language and tested on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel.
Development part of the project will be required to Download the SDK to develop an android application. Further review and analysis of documentation regarding Developing Applications shall be carried. The nuts and bolts of Android applications and Developer Toolbox shall be accessed and analysed so as to acquire in-depth information on specific topics along with the Sample Code .
Tools required for creating an Android application
The tools that are required for developing a Web based application on a cloud computing application for android includes the “SDK”, ADT (used for eclipse integration) and an emulator.
Android SDK and ADT for eclipse
An android SDK is a package that includes only the basic SDK tools. It does not include any third party Libraries or any Android platform. It just contains the basic tools not even all the tools that will be required to develop the required application but still the tools that it contains are required.
To start developing an application for android, with the help of SDK manager one is required to install the basic android platform tools and a version of Android Platform.
The platform-tools consists those tools that are updated with the new features of the Android so as to support the current version of the android. This is why these tools are separated from the basic SDK tools. These tools includes adb, dexDump and others.
One can use the SDK online as well as offline but it would be better to use it online so that if anyhow one missed any application he can immediately get it.
To start SDK manager:
- Click on the executable program in the SDK folder named “SDK manager.exe”
- Then you have to directly trigger an update using the command line and by executing: tools/Android.bat update sdk
Use of Dalvik Virtual Machine:
Dalvik is a simple interpreter for JAVA applications that is completely optimized for Android OS and especially designed to run on low-end memory devices. The other main feature of this program is that it is capable to run by the side of other application compilation that helps in enhancing the runtime capability of applications. We cannot consider this machine as a JAVA machine because it doesn’t understand any JAVA code; instead it uses its own byte code known as “dex”. It helps conserving the battery life and also enhances the performance of the OS.
Use ADT for eclipse
To create a project with eclipse click on New in the toolbar and in the pop-up window open Android folder, select Android Application Project, and click Next. Then you have to enter all those details that you want your application to compile with for example the minimum android requirements, specification etc. Leave other settings as defaults. Leaving all the settings as defaults will allow you to immediately run your application using an Android powered device or using Eclipse.
If you want to use an emulator to run your application, you need to create an Android Virtual device (AVD) so that you can use your applications on different models of Android devices. Then you are required to build a simple user interface using the XML vocabulary provided by Android. This will help you to define your applications’ user interface. This will include:
- Create a Linear Layout
- Add a Text Field
- Add String Resources
- Add a Button
- Make the Input Box Fill in the Screen Width
Then you have to add other activities to your applications that are required for smooth functioning of your applications. Then the task connecting it to any of the Cloud servers that will help you to exchange your files between your android device and cloud servers needs to be accomplished.