DESIGN AND IMPLEMENTATION OF A FILE SHARING APPLICATION FOR ANDROID

4,000

ABSTRACT

Over the last few years, there has been a drastic change in information technology.  This includes the various ways in which files can be shared and stored.

Cloud computing is publicized as the next major step for all forms of typical information technology use.  From businesses, to non-profit organisations, to single users, there seems to be various applications which can use cloud computing to offer better, faster, and smarter computing. Android Operating System is a relatively new mobile Operating System which has been steadily taking over more and more market stake. Easy to use, easy to develop for, and open-source, it has picked up a following of developers who want to create content for the masses. This project aims to combine the two, building a cloud based application for Android, offering users the power of cloud computing in the palm of their hand for file sharing and collaboration.

TABLE OF CONTENTS

CHAPTER ONE     

INTRODUCTION

1.1       Background

1.2       Aim of the Project

1.3       Application of the Project      

1.4       Requirements of the Application

1.5       Report Structure

CHAPTER TWO

LITERATURE REVIEW

2.0       INTRODUCTION

            (i)         Removable media

            (ii)        Centralized servers on computer networks

            (iii)       World wide web based hyperlinked documents

            (iv)       Distributed peer to peer networking

2.1       Android

2.2       Cloud Computing

2.3       Java Programming Language

2.4       A Brief Overview Of Similar Applications

2.4.1    Dropbox Overview

2.4.2    Google Drive Overview

2.4.3    Icloud Overview

2.4.4    Skydrive Overview

2.4.5    Sugarsync Overview  

CHAPTER THREE

DESIGN AND DEVELOPMENT APPROACH

3.0       Introduction

3.1       Design Requirements 

3.1.1    Functional Requirements

3.1.2    Non Functional Requirements

3.2       System Architecture  

3.3       The Restful Architecture

3.4       Development Approach

3.5       Android Sdk

3.6       Server Side Technologies

3.7       Data Structures For Data Transmission

3.8       Summary

CHAPTER FOUR

IMPLEMENTATION AND TESTING

4.1       Introduction

4.2       Development Methodology

4.3       Eclipse

4.4       Android Virtual Machine

4.5       Server Side Application

4.6       Client Side Application

4.7       Protocol Buffers

4.8.0    Introduction To Testing

4.8.1    Server Side Testing

4.8.2    Client Side Testing

4.8.3    Real World Testing

4.8.4    Challenges

4.9       Summary

CHAPTER FIVE

CONCLUSION

5.0       Evaluation

5.1       Functional Requirements

5.2       Non-Functional Requirements           

5.3       Referring to the Use Case

5.4       Recommendations

Reference

Appendix

LIST OF FIGURES

Fig 1.0   the Diagram for the Client Side Application

Fig 2.0   the Design Diagram of the Server Side Application

Fig 3.0   A UML Diagram of the Server Side Architecture

Fig 4.0   A Sequence Diagram showing interactions between the Client and the Server

Fig 4.1 The Eclipse plugin toolbars for Android and App Engine

Fig 4.2 The Android Virtual Machine

Fig 4.3 Application Login Screen

The file browser view of the application

Fig 4.4 The file browser context menu

Fig 4.5 The view of the list of boxes the user can access

Fig 4.6 the context menu for a box

Fig 4.7 The upload file activity

CHAPTER ONE

INTRODUCTION

1.1              BACKGROUND

Today, paperless (and even virtual) offices are taking file sharing even further. Internet users are communicating through sharing entire folders of information online, and trusting these online platforms as their primary means of document storage.

During the Internet’s infancy, before it was named the “Internet” it was referred to as ARPANET and file sharing was a practice reserved only for the most tech understanding of computer users. File sharing was also really considered more file transferring, as it usually consisted of manually transferring files with a technological medium like a floppy disc.

In 1962, a conference was held in Ann Arbor, Michigan to bring ARPA researchers together and begin to create the structure for the ARPANET.   In 1972, email was born, allowing computer users for the first time to send files to one another via the Internet.  It wasn’t until 1978, when smaller personal computers were introduced and software to connect to the Internet was created, that the Internet was made available to the general public.

[1]

Though it wasn’t around long, Napster was one of the first major file sharing services that was not only available to the public, but easy for everyday (non-tech-savvy) people to understand and use. Napster was a file sharing application that used a central server to organize file swapping between users.

The Napster platform was different from file sharing via email in that it served more as a gathering place for people to share music files with people/sources from around the world. Though Napster no longer exists, it had a huge impact on not only the way in which people share files, but it also had an effect on how the public views file sharing as a practice. [2]

In 2002, the concept of “the Cloud” was introduced. However, it wasn’t until 2007 when Google Docs was launched that remote file sharing and file storage started to gain some momentum amongst Internet users. 2007 also saw the beginning of mobile file sharing capabilities with new and popular mobile technologies like the iPhone, and other mobile devices.

Today's mobile workforce needs the ability to securely create, view, edit and access enterprise content from their mobile devices.

1.2       AIM OF THE PROJECT

Get Full Material