Home > Essay examples > Developing a secured android app for “File sharing”

Essay: Developing a secured android app for “File sharing”

Essay details and download:

  • Subject area(s): Essay examples
  • Reading time: 12 minutes
  • Price: Free download
  • Published: 25 February 2023*
  • Last Modified: 22 July 2024
  • File format: Text
  • Words: 3,356 (approx)
  • Number of pages: 14 (approx)

Text preview of this essay:

This page of the essay has 3,356 words.

Chapter 1

Introduction

1 Introduction

We are going to develop a secured android app. “File sharing” is designed to share files between two same devices through Wi-Fi. Wi-Fi sharing is equipped with encryption. By using this encryption their personnel information will remain unreadable until the information is not decrypted by using the similar passphrase.

This app will also help the user to cut, delete and rename the file name and move these

files inside the app from one folder to another.

1.1 Existing System

There are some app like ‘share it’ which share files over the Wi-Fi but they do not share files over the Bluetooth. These app also don’t have capabilities of secure file sharing between devices over Bluetooth. The smart phones provide traditional folder locks and patterns to make the folders secured.

But these locks and patterns are not useful to protect all files.

1.1.1 Examples:

i. Share it

Share it app help the user to transfer files between two devices over the Wi-Fi. It also help the user to change your files location from one folder to another also help the user to view the history of file transfer.

1.1.2 Issues with Existing Systems:

(1) Most of the applications do not provide Wi-Fi sharing and Bluetooth sharing option in a single app, therefore users have to use more than one application to fulfil their requirements.

(2) The existing systems lack the feature of Bluetooth and secured file sharing over Wi-Fi.

(3) Most of the existing systems are either paid applications or only allow limited features on their free account or shows a lot of advertisement in the app.

1.2  Problem Statement

Most of the times, we need to transfer files from one device to another. There are some traditional methods to share files but that did not support all types of formats. We develop this app which share most of the files.

Basic aim of the app is to share files between two devices through Wi-Fi. It also has a feature of encryption and decryption for better protection.

Bluetooth is also supported which help when Wi-Fi is not available.

1.3  Solution:

File sharing is an application which is easy to use and have all features. It is an android mobile application; therefore, it becomes easy to use everywhere. One can easily share files between two device over the Wi-Fi as well as Bluetooth. I have used ‘AES’ semantic algorithm for encryption and decryption.

1.4 Advantages of Proposed System

1. Users will be able to share files through Wi-Fi.

2. Users will also be able to share files through Bluetooth.

3. Users will be able to rename, delete or cut files.

4. Users will be able to share secure files over Wi-Fi.

Chapter  2

Requirements and System Analysis

2 Requirements and System Analysis

Requirements Analysis is also called requirements engineering, a process in which “what is to be done” is elicited, modeled and communicated. The descriptions of the services and constraints are the requirements for the system the process of finding, analyzing, documenting and checking these services and constraints. The first use of the term ‘requirements engineering’ was probably in 1979 in a TRW technical report but did not come into general use until the 1990s with the publication of an IEEE Computer Society tutorial and the establishment of a conference series on requirements engineering. In the waterfall model, requirements engineering is presented as the first phase of the development process.

In the following pages we have inserted the Use Case Model for the system and detailed use case descriptions for the system.

2.1 ¬Use Case Model

Use case model gives us information in a visual form about the system and its environment. In a quick glance it can give us the idea about how the user is interacting with the system. This generally include a UML use case diagram to show the name of use case and actors, and their relationships.

2.1.1 Use Case Diagram

Fig. 2.1 – Use Case Diagram

2.2 Use Case Brief Detail

2.2.1 Sign Up

Use Case ID: UC-001

Use Case Name: Sign Up

Description: This use case describes the process by which users can Sign up for the first time

Actors: User

2.2.2 Log In

Use Case ID: UC-002

Use Case Name: Log In

Description: This use case describes the process by which users can login

Actors: User

2.2.3 Profile

Use Case ID: UC-003

Use Case Name: Profile

Description: This use case describes how user can view his profile and also his history.

Actors: User

2.2.4 Select File

Use Case ID: UC-004

Use Case Name: Select File

Description: This use case describes the process by which user can select a file on which he want to apply any operation

Actors: User

2.2.5 Encrypt

Use Case ID: UC-005

Use Case Name: Encrypt

Description: This use case describes the process by which user can encrypt the file

Actors: User

2.2.6 Share

Use Case ID: UC-006

Use Case Name: Share

Description: This use case describes the process by which user can share file over Wi-Fi and Bluetooth.

Actors: User

2.2.7 Decrypt

Use Case ID: UC-007

Use Case Name: Decrypt

Description: This use case describes how user can Decrypt file.

Actors: User

2.2.8 Log out

Use Case ID: UC-008

Use Case Name: Log out

Description: This use case describes how user can log out from the application

Actors: User

2.3 Use Case Description Detail

2.3.1 Sign Up

Use Case ID: UC-001

Use Case Name: Sign Up

Description: This use case describes the process by which users can Sign up for the first time

Actors: User

Pre-condition: 1. Working internet connection

2. Facebook/Gmail account or an Email account

3. App is fully loaded

Post-condition: User will be redirected to Main screen.

Includes: App, SQLite

Flow: 1. User will click on sign up

2. Signup Activity will appear.

3. User will enter credentials

4. After verification user is logged in

Exception: N/A

Frequency of use: Once per session

2.3.2 Log In

Use Case ID: UC-002

Use Case Name: Log In

Description: This use case describes the process by which users can login

Actors: User

Pre-condition: 1. Working internet connection

2. An Email account

Post-condition: User will be redirected to main screen

Includes: App, SQLite

Flow: 1. User will click on login

2. User will enter credentials

3. App will verify the user from database

4. After verification user is logged in

Exception: N/A

Frequency of use: Once per session

2.3.3 Profile

Use Case ID: UC-003

Use Case Name: Profile

Description: This use case describes the process by which user can change in his profile

Actors: User

Pre-condition: 1. Working internet connection

2. User is logged in

3. App is fully loaded

Post-condition: Profile will be changed as per user’s need

Includes: App, SQLite

Flow: 1. User will go to profile page

2. Web App will display the profile of the user

3. User can make selected changes

Exception: 1. Internet stops working.

2. SQLite not working

Frequency of use: Numerous

2.3.4 Select File

Use Case ID: UC-004

Use Case Name: Select File

Description: This use case describes the process by which user can select the file on which he want to do any operation.

Actors: User

Pre-condition: 1. Working internet connection

2. App is fully loaded

Post-condition: User will see all files on the app.

Includes: App, SQLite

Flow: 1. User will go to home page

2. User will select the file on which he want to do any operation.

Exception: SQLite is not working

Frequency of use: Numerous

2.3.5 Encrypt

Use Case ID: UC-005

Use Case Name: Encrypt

Description: This use case describes the process by which user can encrypt the file which he wanted.

Actors: User

Pre-condition: 1. Working internet connection

2. App is fully loaded

Post-condition: File is encrypted successfully

Includes: App, SQLite

Flow: 1. User will go to home screen

2. User will select the file

3. User will encrypt the selected file

Exception: SQLite is not working. Wi-Fi signal lost

Frequency of use: Numerous

2.3.6 Share

Use Case ID: UC-006

Use Case Name: Share

Description: This use case describes the process by which user can share the files over the Wi-Fi and Bluetooth

Actors: User

Pre-condition: Working internet connection

Web App is fully loaded

Post-condition: Share file is successful

Includes: App, SQLite

Flow: 1. User will go to homepage

2. User will select the file

3. User will select to share

4. User will select to share through Wi-Fi or Bluetooth

Exception: SQLite is not working. Wi-Fi signal lost

Frequency of use: Numerous

2.3.7 Decrypt

Use Case ID: UC-007

Use Case Name: Decrypt

Description: This use case describes how user can decrypt the file

Actors: User

Pre-condition: 1. Working internet connection

2. User is logged in

3. App is fully loaded

Post-condition: File is decrypted successfully

Includes: App, SQLite

Flow: 1. User will go to homepage

2. User will select the file

3. User will decrypt the file

Exception: SQLite is not working

Frequency of use: Numerous

2.3.8 Log out

Use Case ID: UC-008

Use Case Name: Log out

Description: This use case describes how user can logout from the app.

Actors: User

Pre-condition: 1. User is logged in

2. App is fully loaded

Post-condition: user will be log out

Includes: App, SQLite

Flow: Log out

Frequency of use: Numerous

2.4 Domain Model

A domain model contains domain classes and domain relationships. Domain classes represent the different types of objects in the domain, and domain relationships represent information about a relationship between two domain classes.

 

Fig. 2.4 – Domain Model Diagram

2.5 Activity Diagram

 

Fig. 2.5 – Main Activity Diagram

2.5.1 Wi-Fi Sharing

Fig. 2.5.1 – Wi-Fi Sharing Activity

2.6 Class Diagram

Fig. 2.6 – Class Diagram

2.7 ERD Diagram

Fig. 2.7 – ERD Diagram

Chapter  3

System Design

3 System Design

We have designed our system in a way that it consists of user and application. The following diagram shows different components of the system:

Figure 3.1 – System Design

3.1 Sequence Diagrams

A sequence diagram is a kind of interaction diagram that shows how processes operate with one other and in what order. It is a construct of a message Sequence Chart. A sequence diagram shows object interaction arrange in time sequence.

3.1.1 Sign Up

This sequence diagram describes the process by which user can sign up to the system.

Fig 3.2 – Sign Up

3.1.2 Log In

This sequence diagram describes how the user can log in to the system.

Fig. 3.3 Log In

3.1.3 Encryption

This sequence diagram describes how the user can encrypt the file.

Fig. 3.4 – Encryption

3.1.4 Decrypt

This sequence diagram describes how the user can decrypt the file.

Fig. 3.5 – Decrypt

3.1.5 Wi-Fi Sharing

This sequence diagram describes how the user can share the file.

Fig. 3.6 –Wi-Fi Sharing

Chapter  4

System Implementation

4 System Implementation

System implementation is the process of defining how the information system should be built ensuring that the information system is operational and used and meets quality standard. Implementation is the process of realizing the design as a program.

We have implemented our application using new technologies that have been using by millions of user. Our application is android based and we have used Android studio tool and in the backend we have used java. We have used SQLite as our central database.

Now with the technologies implemented the system design diagram that we have shown in chapter 3 looks like this:

Fig. 4.1 – System Design

4.1 Details of Implementation Tools and Technologies

The details of the languages, tools and technologies we used are following:

4.1.1 Java

Java is a programming language. Java differs from most other programming languages in that programs written in Java can generally be run on many different types of computers, not only the type of computer it was written on. This is because Java is run in what is known as a runtime environment- a separate program that interprets the Java code. Runtime environments are specific to the machine being used. Any computer (or other device, such as a cell phone) that has a Java runtime environment can run Java code, assuming that the runtime environment supports the version of the code the program was written in.

Java was invented by Sun Microsystems with the intention of creating a “Write once, run anywhere” programming language. The first release, Java 1.0, was not quite as interoperable across platforms as expected, which led to the joke “Write once, debug everywhere. Also, as the code had to be interpreted, programs written in Java ran slowly compared to other languages. The current version addresses these issues and adds new functionality, making Java one of the most popular and supported programming languages on personal computers, cell phones, PDA’s and other small devices. Recently, Java was released under the GPL open source license.

Another technology with a similar name, JavaScript, is not related in any way with Java. JavaScript is often confused with Java as JavaScript is a programming language designed to manipulate Web Pages, and Java applets are commonly embedded in web pages. Also, the similar names cause understandable confusion. Furthermore, both JavaScript and Java are innovations of Sun Microsystems.

4.1.2 Android Studio

Android is a software platform and operating system for mobile devices, based on the Linux kernel, and developed by Google and later the Open Handset Alliance. It allows developers to write managed code in the Java language, controlling the device via Google developed Java libraries. Android is available as open source. Android is a freely downloadable open source software stack for mobile devices that includes an operating system, middleware and key applications based on Linux and Java. Google purchased the developer of Android in 2005, and Android was unveiled in 2007. Google released the Android code as open-source under the Apache License. Android has numerous developers writing applications (apps) all over the world. First of all the developers write their script in Java, and then download the apps from the third party sites or online stores.

4.2 Deployment Diagram

Fig. 4.2 – Deployment Diagram

Chapter 5

System Testing

5 System Testing

5.1 Software Quality Assurance

A set of activities designed to evaluate the process by which products are developed or manufactured.

5.2 Software Quality Control

Software Quality Control is the function that checks whether the software project follows its standards processes, and procedures, and that the project produces the desired internal and external (deliverable) products i.e. output.

5.2.1 Black Box Testing

Black box testing is also known as specification-based testing. Black box testing refers to test activities using specification-based testing methods and criteria to discover program errors based on program requirements and product specifications.

The major testing focuses:

(1) Specification-based function errors

(2) Specification-based component/system behavior errors

(3) Specification-based performance errors

(4) User-oriented usage errors

(5) Black box interface errors

5.3 Test Case

Following are the Test Cases for our project (File Sharing):

5.3.1 Sign Up

TC1: Sign Up

Test Case ID: UC-001

Wrote By: Muhammad Haseeb Arshad

Test Type: Black box testing

Product Name: File Sharing

Test Item: Mob App

Documented Date: 15/10/2017

Test Suite: 1a

Version Number: 1.0

Test case description: This test case is designed to successfully sign up

Operation procedure: 1. Go to home Screen of File Sharing

2. Click on the sign up

3. Clicking on signup will open a modal which allows options to sign up from Facebook, Gmail or Email address.

4. Using Auth0, the user is authenticated and the Mob App takes credentials from Auth0 and saves them in DB

5. Mob App redirects to home screen.

Pre-conditions: Internet is required and App must be running

Post-conditions: The credentials are verified and stored in DB

Required test scripts: No

5.3.2 Login

TC2: Log In

Test Case ID: UC-002

Wrote By: Muhammad Haseeb Arshad

Test Type: Black box testing

Product Name: File Sharing

Test Item: Mob App

Documented Date: 15/10/2017

Test Suite: 1a

Version Number: 1.0

Test case description: This test case is designed to successfully log in

Operation procedure: 1. Go to main screen of file sharing

2. Click on the login

3. Clicking on login will open a modal which allows options to login  from Facebook, Gmail or Email address.

4. The user is verified and his credentials is sent to the Mob App.

5. Mob App redirects to home Screen.

Pre-conditions: Internet is required, User must have created an account on App

Post-conditions: Mob App redirects to main screen.

Required test scripts: No

5.3.3 Profile

TC3: Profile

Test Case ID: UC-003

Wrote By: Muhammad Haseeb Arshad

Test Type: Black box testing

Product Name: File Sharing

Test Item: Mob App

Documented Date: 15/10/2017

Test Suite: 1a

Version Number: 1.0

Test case description: This test case is designed to view and make changes to Profile

Operation procedure: 1. User goes to Profile page

2. User views the profile.

3. User can edit his description.

4. User can delete his account.

Pre-conditions: Internet is required, Mob App must be fully loaded and user must be logged in

Post-conditions: Description changed or User deleted and app loads back to homepage.

Required test scripts: No

5.3.4 Select file

TC4: Select file

Test Case ID: UC-004

Wrote By: Muhammad Haseeb Arshad

Test Type: Black box testing

Product Name: File Sharing

Test Item: Mob App

Documented Date: 15/10/2017

Test Suite: 1a

Version Number: 1.0

Test case description: This test case is designed to successfully select new file

Operation procedure: 1. User goes to main screen

2. Mob App will display all files.

3. User can select any file.

Pre-conditions: Internet is required and Mob App must be running

Post-conditions: A File will be selected.

Required test scripts: No

5.3.5 Encrypt

TC5: Encrypt

Test Case ID: UC-005

Wrote By: Muhammad Haseeb Arshad

Test Type: Black box testing

Product Name: File Sharing

Test Item: Mob App

Documented Date: 15/10/2017

Test Suite: 1a

Version Number: 1.0

Test case description: This test case is designed to allow user to encrypt a file.

Operation procedure: 1. User goes to main screen

2. User select the file.

3. User encrypt the file.

Pre-conditions: Internet is required, Mob App must be fully loaded and user must be logged in

Post-conditions: File will be encrypted

Required test scripts: No

5.3.6 Share

TC6: Share

Test Case ID: UC-006

Wrote By: Muhammad Haseeb Arshad

Test Type: Black box testing

Product Name: File Sharing

Test Item: Mob App

Documented Date: 15/10/2017

Test Suite: 1a

Version Number: 1.0

Test case description: This test case is designed to Share a file

Operation procedure: 1. User goes to main screen

2. User select a file to share.

3. User then use to sharing option.

Pre-conditions: Internet is required, Mob App must be fully loaded and user must be logged in

Post-conditions: The file will be share.

Required test scripts: No

5.3.7 Decrypt

TC7: Decrypt

Test Case ID: UC-007

Wrote By: Muhammad Haseeb Arshad

Test Type: Black box testing

Product Name: File Sharing

Test Item: Mob App

Documented Date: 15/10/2017

Test Suite: 1a

Version Number: 1.0

Test case description: This test case is designed to decrypt a file

Operation procedure: 4. User goes to main screen

5. User select the file.

6. User decrypt the file.

Pre-conditions: Internet is required, Mob App must be fully loaded and user must be logged in

Post-conditions: File will be decrypted

Required test scripts: No

5.3.8 Log out

TC8: logout

Test Case ID: UC-008

Wrote By: Muhammad Haseeb Arshad

Test Type: Black box testing

Product Name: File Sharing

Test Item: Mob App

Documented Date: 15/10/2017

Test Suite: 1a

Version Number: 1.0

Test case description: This test case is designed to log out from the app.

Operation procedure: 1. User goes to main screen

2. User select the log out

Pre-conditions: Internet is required, App must be fully loaded and user must be logged in

Post-conditions: User will be log out

Required test scripts: No

Chapter  6

Conclusion

6 Conclusion

In this project we have developed a system in the form of android application that provides user easy way to share secure files. Users can sign up to our application using Google, Facebook or an Email Address. User can search different files. User can share these files either through Wi-Fi or Bluetooth. The package is proved to be a powerful in fulfilling the basic requirements of a user who is interested to share secure file. We have used modern technologies to make the app concurrent, highly responsive and easy to manage.

6.1 Project Screenshots

Below are some of the screenshot of our project:

6.1.1 Login

Figure 6.1.1 Login

6.1.2 Home

Figure 6.1.2 Home screen

6.1.3 Select File

Figure 6.1.3 This screen tells to Select the file

6.1.4 List View

Figure 6.1.4 This is list view

6.1.5 Grid view

Figure 6.1.5 This screen shows Grrid view

6.1.6 Wi-Fi share

Figure 6.1.6   This screen shows wifi starting

6.2 Future Work

The work I did in this project presents many opportunities for future work. The following is a list of ideas that can improve upon this project and provide a guideline in this heading.

6.2.1 Video Calling

A conference call functionality can be added between users where user can share his video live with other users.

6.2.2 Screen sharing

This feature would allow users to share screens with other users in the group. One user can remotely view the screen of other users in the group.

About this essay:

If you use part of this page in your own work, you need to provide a citation, as follows:

Essay Sauce, Developing a secured android app for “File sharing”. Available from:<https://www.essaysauce.com/essay-examples/2017-11-28-1511854065/> [Accessed 11-04-26].

These Essay examples have been submitted to us by students in order to help you with your studies.

* This essay may have been previously published on EssaySauce.com and/or Essay.uk.com at an earlier date than indicated.

NB: Our essay examples category includes User Generated Content which may not have yet been reviewed. If you find content which you believe we need to review in this section, please do email us: essaysauce77 AT gmail.com.