A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A...

51
A Customizable Travel Application- “Travel -It” GRADUATE PROJECT Submitted to the Faculty of the Department of Computing Sciences Texas A&M University-Corpus Christi Corpus Christi, Texas In Partial Fulfillment of the Requirements for the Degree of Master of Science in Computer Science By Kankipati Laxmi Trijani Spring 2017 Committee Members Dr. Ahmed Mahdy ____________________________ Committee Chairperson Dr. David Thomas ____________________________ Committee Member

Transcript of A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A...

Page 1: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

A Customizable Travel Application- “Travel-It”

GRADUATE PROJECT

Submitted to the Faculty of the Department of Computing Sciences

Texas A&M University-Corpus Christi Corpus Christi, Texas

In Partial Fulfillment of the Requirements for the Degree of Master of Science in Computer Science

By

Kankipati Laxmi Trijani

Spring 2017

Committee Members

Dr. Ahmed Mahdy ____________________________ Committee Chairperson

Dr. David Thomas ____________________________ Committee Member

Page 2: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

ii

ABSTRACT

Modern hand held devices like smart phones and tablets have become increasingly

powerful in recent years. This project projects the development of a customizable travel

application designed for Android devices. The prime objective of this application is to

provide travelers with itineraries based on the individual’s choice. The users can customize

their search for places to visit by giving their choice of preferences. The selected places of

visit in any particular city can be viewed on Google maps. Integrating maps makes this

android application more useful for the users, as it provides an estimate of distance between

places selected. The intended features in this application are:

Allowing search for places to visit (city name or any valid address of a location).

Providing customizable search options based on the user’s preferences (e.g.

restaurants -Italian restaurants, attractions - museums, beaches).

Providing customizable radius options to find list of museums, zoos at particular

distance from the place entered by the user.

Enabling notifications about the trip.

Providing an itinerary for the entire trip and allowing options to:

Save the itinerary.

Share via email.

Page 3: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

iii

TABLE OF CONTENTS

ABSTRACT ......................................................................................................ii

TABLE OF CONTENTS................................................................................... iii

LIST OF FIGURES........................................................................................... v

LIST OF TABLES ........................................................................................... vii

1. BACKGROUND AND RATIONALE ........................................................... 1

1.1 Introduction...................................................................................... 1

1.2 Android ............................................................................................ 2

1.3 Android Studio ................................................................................. 4

1.4 Existing Systems .............................................................................. 5

2. NARRATIVE ............................................................................................... 6

2.1 Problem Statement............................................................................ 6

2.2 Motivation........................................................................................ 6

2.3 Product Scope .................................................................................. 7

2.4 Functionalities .................................................................................. 7

2.5 System Requirements ....................................................................... 7

3. DEVELOPED SYSTEM DESIGN................................................................. 8

3.1 Module Description .......................................................................... 8

3.2 Use Case Diagrams..........................................................................10

3.3 Design Flow ....................................................................................12

3.4 User Interfaces ................................................................................13

4. IMPLEMENTATION OF APPLICATION MODULES ................................24

Page 4: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

iv

4.1 XML code for Android Permissions .................................................24

4.2 Place Planner Activity......................................................................24

4.3 Day Planner Activity .......................................................................25

5. TESTING AND EVALUATION ..................................................................27

5.1 Test Case Scenarios .........................................................................27

5.2 Other Miscellaneous Cases ..............................................................33

5.3 User Evaluations Report ..................................................................34

6. CONCLUSION AND FUTURE WORK .......................................................35

6.1 Conclusion ......................................................................................35

6.2 Future Work ....................................................................................35

7. BIBLIOGRAPHY ........................................................................................36

Appendix A: Code Snippets ..............................................................................37

Page 5: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

v

LIST OF FIGURES

Figure 1. Graph showing percentage of different mobiles OS in the market ......... 2

Figure 3.1 Architecture of “Travel-It” Application ............................................. 8

Figure 3.1.7. Activity Diagram for Server connection and Data Retrieval ...........10

Figure 3.2. Use Case Diagram of Travel-It Application......................................11

Figure 3.3 Design Flow Diagram for Travel-It Application ................................12

Figure 3.4.1 Main Screen..................................................................................13

Figure 3.4.1.1 Validation Error .........................................................................13

Figure 3.4.1.2 Main Screen with details .............................................................14

Figure 3.4.1.3 Calendar for setting date .............................................................14

Figure 3.4.2 Place Planner Activity Screen ........................................................15

Figure 3.4.2.1 Auto Text Complete View ..........................................................15

Figure 3.4.2.2 Place of Interest List ...................................................................15

Figure 3.4.2.3 Selected Radius of 800m ............................................................15

Figure 3.4.2.4 Selected places ...........................................................................16

Figure 3.4.3.1 List of Museums ........................................................................17

Figure 3.4.3 Details Activity .............................................................................17

Figure 3.4.4 Day Planner Activity .....................................................................18

Figure 3.4.4.1 Places on map view ....................................................................18

Figure 3.4.4.2 Data of trip stored in database .....................................................18

Figure 3.4.5 Whole Trip Activity ......................................................................19

Figure 3.4.5.1 Save Option ...............................................................................19

Page 6: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

vi

Figure 3.4.5.2 Gallery Image ............................................................................20

Figure 3.4.5.2a List in Travel It folder...............................................................20

Figure 3.4.5.3 Share option ...............................................................................20

Figure 3.4.5.4 Bitmap Image of Itinerary...........................................................20

Figure 3.4.6 Customization Activity screen .......................................................21

Figure 3.4.7.1 Calendar Remainder screen ........................................................22

Figure 3.4.8 All Trips Activity Screen...............................................................23

Figure 3.4.8.1 Whole Trips Screen ....................................................................23

Figure 4.1 Code snippet for android permissions ...............................................24

Figure 4.2 Code snippet for P lace Planner Activity ............................................25

Figure 4.3 Code snippet for Day Planner Activity..............................................26

Figure 5.1 List of Museums in San Antonio ......................................................27

Figure 5.1.1 List of Museums in San Antonio (Google Search) ..........................28

Figure 5.1.2 List of Museums in Dallas .............................................................28

Figure 5.1.3 List of Museums in Dallas (Google Search) ...................................29

Figure 5.1.4 Indian Restaurants (Dallas)............................................................30

Figure 5.1.5 Italian Restaurants(Dallas).............................................................30

Figure 5.1.6 List of Italian Restaurants in Dallas (Google Search) ......................30

Figure 5.1.7 Radius of 800 (Dallas)...................................................................31

Figure 5.1.8 Radius of 25000 (Dallas) ...............................................................31

Figure 5.1.9 With No internet ...........................................................................32

Page 7: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

vii

LIST OF TABLES

Table 1. Testing Results ...................................................................................33

Table 2. User Evaluations ................................................................................34

Page 8: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

1

1. BACKGROUND AND RATIONALE

1.1 Introduction

Tourism can be considered as a most favorite pass time when people get free time.

Several travel organizations are available on the web. Planning a trip involves key feature

called efficient time management which can be achieved only when the travelers can

customize their places of visit and have a refined travel itinerary. The travelers need to

have prior knowledge about the most visited places, restaurants and hotels in any particular

city they travel. For this, they spend much time browsing multiple websites for best travel

plans on PC’s and mobile devices. As smartphones are becoming more powerful in terms

of computational and communication capabilities, application developers are taking

advantage of these capabilities in order to provide new or enhanced services to their

applications. There are several travel mobile applications available which are confined to

only listing all the available hotels, picnic spot, hospital, ATM, Police-station, bank, etc.,

in that particular city [2]. This becomes time consuming to search for these services over

different mobile applications. Moreover, refining them as per traveler’s preference requires

additional search results for either finding specific tourist’s interest, such as beaches,

museums, or to estimate the distance between all the selected places.

This application “Travel-It” allows users to customize their search for places to

visit by giving their choice of preferences and provides travelers with itineraries based on

their choices in a single application which saves a lot of time. The selected places of visit

in any particular city can be viewed on Google maps [1].

Page 9: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

2

1.2 Android

The Android architecture design has become an interesting field for software

developers, expert programmers, and even new Android programmers. Thus, the growth

of Android applications in the market is inevitable compared to another mobile operating

system. Out of all these platforms, Android occupies about 82% of the smartphone market.

It powers millions of mobile devices in more than 190 countries [4].

Figure 1: Graph showing percentage of different mobiles OS in the market [4].

A brief introduction of the various levels is given below:

1. Applications level

The Android operating system comes by default with several core applications,

such as email client, SMS software, calendar, maps, browser, contacts, Global

Positioning System (GPS) and several others. These core applications and any

developers’ applications reside and run at the applications level and are written using

Java.

Page 10: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

3

2. Libraries level

Android comes with a set of C/C++ libraries, System C library, Media libraries,

Surface Manager, LibWebCore, SGL, 3D libraries, Free Type, and SQLite, used by the

Android system and are available to developers through the Android application

framework.

3. Android runtime level

Every Android application runs in its process, with its instance of the Dalvik Virtual

Machine (VM) and has been written so that a device can run multiple VMs efficiently.

The Dalvik VM executes files in the Dalvik Executable (.dex) format and optimizes for

minimal memory footprint. The VM is register-based and runs classes compiled by a

Java language compiler that has been transformed into the .dex format by the included

“dx” tool. However, the Dalvik VM relies on the Linux kernel for underlying

functionality, such as threading and low-level memory management. Lin et al. (2011)

concluded that Dalvik Java code is faster than native code, but in some conditions, it

performs badly; therefore, software designers are encouraged to create an efficient

application.

4. Application Framework level

Android provides an open development platform giving developers the ability to

build extremely rich and innovative applications. With this, developers have full access

to the same framework APIs that are used by the core applications and are free to take

advantage of the device hardware, access location information, run background

services, set alarms, add notifications to the status bar, and much more. For instance,

developers’ applications can execute core applications. Java programming language is

an Object-Oriented Programming language that is supported by the powerful Java

Page 11: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

4

libraries. The Android architecture design allows developers to reuse and overwrite

each component using the Java libraries. This is the same mechanism that allows

components to be replaced by other developers. The underlying applications are a set

of services and systems, which include Views, Content Providers, Resource Manager,

Notification Manager, and Activity Manager.

The reasons for choosing android are:

1. Openness and Open Source

The main advantage of developing Android applications is that, a large number

of Android applications, available on the Internet and also the operating system are

open source allowing anyone to access and use the source code.

2. Java

The advantages of using Java programming language are it is simple, object-

oriented, familiar, robust and secure, architecture-neutral and portable, high

performance oriented, interpretable, threaded and dynamic. The power of Java is

proved on large scale applications, web servers, and support for consumer devices.

Furthermore, Android applications are developed with Java, which is the most widely

used programming language. As mentioned above, Java is an object-oriented

programming language that allows the programmer to access powerful libraries [3]. It

is intended to let application developer’s code developed for one platform run on other

platforms without recompiling.

1.3 Android Studio

Android Studio is the official IDE for Android app development, based on IntelliJ

IDEA. Android Studio has a great Gradle-based build system, various build variants, and

multiple app file generation, Code templates to help you build common app features, good

Page 12: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

5

layout and theme editor, lint tools to catch problems, Pro Guard, and app signing

capabilities, support for Google Cloud Messaging (GCM) and App Engine.

1.4 Existing Systems

There are many mobile applications and different websites providing travel

packages to places all over the world, such as Kayak, Trip Advisor, Orbitz.com,

Travelocity.com, and Urban Spoon.

1.4.1 Limitations of Existing Systems

These existing systems just provide the list of all available hotels, restaurants, and

tourist attractions but do not provide an option of customization where the users can refine

as per their preferences. Moreover, retrieving complete information about each place such

as opening and closing timings requires addition browsing by the user which is time

consuming. Once the places are selected by the user there is no means for estimating

distance between them and these existing applications do not provide an itinerary to the

users with all the places they have selected.

The “Travel-It” application overcomes these limitations by providing some

intended features such as allowing customizations for planning trip and providing an

itinerary for the entire trip planned which can be saved and shared.

Page 13: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

6

2. NARRATIVE

2.1 Problem statement

Now-a days there are many mobile applications and different websites providing

travel packages to almost all the places over the world. A traveler finds it very difficult to

search for the best package as he/she browse multiple websites, contact many travel agents

etc. which is a tedious process and is time consuming. Moreover, people travel with

families or for business purpose to have a good time, usually for a limited period. So, there

should be a system where the users can customize their preferences accordingly and also

be able to generate best travel itinerary with a single click. This “Travel-It” android

application allows customization and provides travelers with itineraries based on the

individual’s choice.

2.2 Motivation

When planning for a trip, things like restaurants, hotels and choice of places to visit

usually differ as per preferences of traveler. For example, certain travelers may be

interested in visiting only museums, amusement parks and tourist attractions and have only

Italian or Indian cuisine during course of their trip. For this the travelers need to customize

their search as per their preferences for all cities they wish to visit as a part of their trip.

The existing travel applications does not take this concept of customization as per traveler’s

preference into consideration and does not enable an option to save traveler’s preferences

for their next trips. The shortcomings and inadequate features of such applications

motivated me to develop an effective “Travel –It” application.

Page 14: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

7

2.3 Project Scope

Application is developed for android based tablets and smart phones. To avail the

features of this application user need to connect to the internet. This “Travel-It” application

is compatible from Android 5.0 to latest android version Android 6.0 Marshmallow.

2.4 Functionalities

The intended functionalities in this application are:

1. Allowing search for places to visit (city name or any valid address of a location).

2. Providing customizable search options based on the user’s preferences (e.g.

restaurants -Italian restaurants, attractions - museums, beaches).

3. Enabling notifications about the trip.

4. Providing an itinerary for the entire trip and allowing options to:

a. Save.

b. Share.

5. Providing the history of the previous trips of the user.

2.5 System Requirements

The following are the requirements to develop this android application:

1. Operating System: Windows 7 or above

2. Database: SQLite

3. IDE: Android Studio

4. Software: Android SDK (Software Development Kit), Java SE 7

5. Android Device: Android phone or Tablet.

Page 15: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

8

3. DEVELOPED SYSTEM DESIGN

This section gives information about the architecture of the system used. As shown in

Figure 3.1, the “Travel-It” application consists of Presentation layer, Business logic,

Google Places API, Rest access layer, Server, Shared preferences, and SQLite Database.

Figure 3.1. Architecture of “Travel-It” Application.

3.1 Modules Description

In this section, the functionality of each module is specified by describing the

working flow of the developed design.

3.1.1 Presentation Layer

In this architecture, presentation layer contains the User Interface, where the user

enters all the required details about the trip such as trip duration, start date, places of visit

and so on.

Page 16: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

9

3.1.2 Rest Access Layer

The Rest access layer is used to establish communication between Google places

API and application client. Google places API gets connected with the central database and

gets all the information about the place such as Restaurants, Hotels, Tourist Attractions and

formats data using Jason parsing.

3.1.3 Shared Preferences

The users can customize their search for places to visit by giving their choice of

preferences which are stored in shared preferences. By storing these choices of preferences

in the shared preferences, they are retained even when the users change the place of visit

while planning a trip and even if the app is closed and reopened for planning another trip

until the users decide to change their preferences.

3.1.4 SQLite Database

All the necessary data about the trip that is required for generating the travel

itinerary are stored in SQLite database. The information about all the previous trips are

also stored in the database and are retrieved when the user needs them.

3.1.5 Business Logic

This is the core module which operates the whole task of the “Travel-It”

application. It adverts to all the internal logical code necessary to make the application run

efficiently.

3.1.6 Google Maps

This module helps the users to view all the selected places in any city on the maps,

so that the traveler can plan the places to visit in that particular city accordingly by

estimating the time and distance between different places.

Page 17: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

10

3.1.7 Google Places API

The list of places of interest (Museums, Zoos, etc.) in any particular place entered

by user are retrieved by establishing a HTTP connection with central database through

Google places API interface. The information is retrieved from the database as JSON data

object which is parsed and only required information is presented on the user interface in

the Presentation Layer as shown in the Figure 3.1.6.

Figure 3.1.7. Activity Diagram for Server connection and Data Retrieval.

3.2 Use Case Diagram

A use case diagram is a type of behavioral diagram defined by and created from a

Use-case analysis. Its purpose is to present a graphical overview of the functionality

provided by a system in terms of actors, their goals (represented as use cases), and any

dependencies between those use cases. The main purpose of a use case diagram is to show

what system functions are performed by which actor. Roles of the actors in the system can

be depicted.

Page 18: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

11

Figure 3.2. Use Case Diagram of Travel-It Application.

Page 19: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

12

3.3 Design Flow

The Figure 3.3 describes the flow of the dynamic aspects of the Travel-It

application. The Design Flow diagram is a flow chart to represent the flow from one

activity to another activity.

Figure 3.3 Design Flow Diagram for Travel-It Application.

Page 20: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

13

3.4 User Interface

This section gives the overview of user interface of the application. User interface

is where user interacts with the application. The complete executional flow of the designed

“Travel-It” application is described in this section.

3.4.1 Main Activity Screen

Figure: 3.4.1 shows the Main screen, which is the first screen of the application.

Here the user needs to give details about the trip such as trip name, trip duration, start date

of the trip. The end date gets set automatically by taking the start date and trip duration into

account. There is a button "LETS PLAN" on this screen. The user should enter correct

details ad click it to move to the next activity screen. If the trip name is not entered, then

the validation error message pops up saying “enter trip name”.

Figure 3.4.1 Main Screen. Figure 3.4.1.1 Validation Error.

Page 21: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

14

Figure 3.4.1.2 Main Screen with details. Figure 3.4.1.3 Calendar for setting date.

3.4.2 Place Planner Activity Screen

Figure: 3.4.2 shows the Place Planner Activity screen which is the next screen

directed from Main Screen, where the user needs to give details about the city or address

of any valid location by entering the name and picking it from the auto text complete view.

The user can enter the radius value (in meter) as shown in Figure 3.4.2.3 if the user wants

to find the places of interest up to a certain distance from the location he/she has entered in

the above step. There is a button "Schedule Trip" on this screen which becomes active only

after adding atleast one item from place of interest list.

Page 22: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

15

Figure 3.4.2 Place Planner Activity Screen. Figure 3.4.2.1 Auto Text Complete View.

Figure 3.4.2.2 Place of Interest List. Figure 3.4.2.3 Selected Radius of 800m.

Page 23: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

16

Figure 3.4.2.4 Selected places.

3.4.3 Details Activity Screen

As shown in Figure 3.4.3, the complete information about the item in place of

interest (e.g. Museum, Restaurants) can be known the by clicking the item in the list view.

If radius is not entered a default value of 25000 meters is taken as shown in Figure 3.4.3.1.

The Figure shows the list of all museums in Dallas city taking a default radius value of

25000 meters.

Page 24: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

17

Figure 3.4.3.1 List of Museums. Figure 3.4.3 Details Activity.

3.4.4 Day Planner Activity Screen

Figure: 3.4.4 shows the Day Planner Activity screen. In this activity, the user can

view all the selected list of places on map as shown in figure 3.4.4.1 by clicking the button

“SHOW ON MAP”. Here the user adds the places to the itinerary as per time of day. Once

the user adds complete list of places for one day then he/she can start trip for next city by

clicking on “NEXT CITY” button which intends to Place Planner Activity. Once complete

trip is planned, the final itinerary can be viewed by clicking the button “VIEW TRIP”

which intends to next activity. The button “VIEW” is used to see the list of places added

as per time of day in the database as shown in Figure 3.4.4.2.

On click

Page 25: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

18

Figure 3.4.4 Day Planner Activity. Figure 3.4.4.1 Places on map view.

Figure 3.4.4.2 Data of trip stored in database.

On click

Page 26: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

19

3.4.5 Whole Trip Activity Screen

Figure: 3.4.5 shows the Whole Trip Activity screen. In this activity, the itinerary of the

planned trip is generated. The itinerary contains the list of places selected as per time of

day and also displays the distance (in miles) between the places selected. The distances in

miles are automatically calculated by taking the latitude and longitude of the selected

places.

The user can save the trip to the device gallery by clicking the save icon in the menu

item as shown in Figure 3.4.5.1. A new folder named “Travel It” gets created in the device

gallery and the itinerary gets saved as an image as shown in Figure 3.4.5.2 and Figure

3.4.5.2a. The user can share the trip itinerary by clicking the share icon in the menu item

as shown in Figure 3.4.5.3. The itinerary is sent in the form of a bitmap image as shown in

Figure 3.4.5.4.

Figure 3.4.5 Whole Trip Activity. Figure 3.4.5.1 Save Option.

Page 27: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

20

Figure 3.4.5.2 Gallery Image. Figure 3.4.5.2a List in Travel It folder.

Figure 3.4.5.3 Share option. Figure 3.4.5.4 Bitmap Image of Itinerary.

Page 28: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

21

3.4.6 Customization Activity Screen

Figure: 3.4.6 shows the Customization Activity screen. In this activity, the user is

provided with the options to select the places of interest (e.g. Museums, Zoo, etc.) and also

choose the type of restaurants such as Indian, Italian. These choices are retained throughout

the trip planning even when selected city is changed and even when planning another new

trip until the user wishes to change them.

Figure 3.4.6 Customization Activity screen.

3.4.7 Notification Screen

When the user starts a new trip then an event is created in the calendar of the android

device used by the user as shown in Figure 3.4.7.1, and a remainder pops up on the first

day of the trip.

Page 29: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

22

Figure 3.4.7.1 Calendar Remainder screen.

3.4.8 All Trips Activity Screen

Figure 3.4.8 shows the All Trips Activity screen, where the user can see all the

previous trips in a list view. The user can select one item of the list view which will direct

to the whole trip activity screen and displays the entire trip as shown in Figure 3.4.8.1.

Page 30: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

23

Figure 3.4.8 All Trips Activity Screen. Figure 3.4.8.1 Whole Trips Screen.

Page 31: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

24

4. IMPLEMENTATION OF APPLICATION MODULES

This section consists of few code snippets which perform the main tasks of execution.

4.1 XML Code for Android Permissions:

Figure 4.1 shows the part of code for the android permissions required for running

the application on any android device. The permissions required are Calendar, internet,

location and to write and read the external storage.

Figure 4.1 Code snippet for android permissions.

4.2 Place Planner Activity:

Figure 4.2 shows the part of code that takes the choice from the user about the place

of interest (e.g. Museum, Zoo) and makes a HTTP url connection to the server through

google places API interface.

Page 32: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

25

Figure 4.2 Code snippet for Place Planner Activity.

4.3 Day Planner Activity:

Figure 4.3 shows the part of code that adds the places to certain time of day and

stores this in the database.

Page 33: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

26

Figure 4.3 Code snippet for Day Planner Activity.

Page 34: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

27

5. TESTING AND VALIDATION

The testing and validation section gives the summary of some of the test cases and the

validation of the application in different scenarios.

5.1 Test Case Scenarios

This section consists of various test cases scenarios. Various restrictions that can

be applied using this application can be learned in this section.

Test Case 1: Retrieving Correct List of Places

When the user selects a particular place of interest such as Museums, zoo or

Amusement parks in any city, the application should provide the correct relevant data. The

Figure 5.1.1 shows the list of museums in San Antonio provided by the “Travel-It” app and

is tested with google search for list of museums in San Antonio as shown in Figure 5.1.

The Figure 5.1.3 shows the list of museums in Dallas provided by the “Travel-It” app and

is tested with google search for list of museums in Dallas as shown in Figure 5.1.2. These

tests showed positive result of “Travel-It” app in retrieving Correct List of Places.

Figure 5.1 List of Museums in San Antonio (Google Search).

Page 35: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

28

Figure 5.1.1 List of Museums in San Antonio.

Figure 5.1.2 List of Museums in Dallas (Google Search).

Page 36: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

29

Figure 5.1.3 List of Museums in Dallas.

Test Case 2: Retrieving Correct List of Places for Customization

When the user customizes the places of interest such as Museums, Zoo and Italian

restaurant in any city, then the app should provide only these items in the recycler view of

the “Travel-It” application and also should display correct list of restaurants for Indian and

Italian cuisines. Figure 5.1.4 shows the list of Indian restaurants in Dallas and Figure 5.1.5

shows the list of Italian restaurants in Dallas these lists are tested with google search results

as shown in Figure 5.1.6.

Page 37: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

30

Figure 5.1.4 Indian Restaurants (Dallas). Figure 5.1.5 Italian Restaurants(Dallas).

Figure 5.1.6 List of Italian Restaurants in Dallas (Google Search).

Page 38: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

31

Test Case 3: Retrieving Correct List of Places for Different Radius Values.

When the user selects a particular city, and wants to find list of museums, zoos or

restaurants up to a particular distance such as 1000 meters or 2000 meters then he/she can

enter the radius value (in meters) and select the particular place of interest (Museums, zoo,

etc.) as shown in Figure 5.1.7 and Figure 5.1.8. If any specific value of radius is not entered

a value of 25000 meters is taken as a default value.

Figure 5.1.7 Radius of 800 (Dallas). Figure 5.1.8 Radius of 25000 (Dallas).

Page 39: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

32

Test Case 4: With No Internet.

When there no internet available the auto text complete view does not pop up so

the user cannot proceed further to select city, or any particular place of interest in it as

shown in Figure 5.1.9.

Figure 5.1.9 With No internet.

No auto text complete

view

Page 40: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

33

5.2 Other Miscellaneous Cases

The Table1 consists of a testing result summary of some of the test cases.

S.NO SCENARIOS

EXPECTED

RESULT STATUS

1

Installation Installing TravelIt.apk file on

Android phone.

Installation Successful Success

2

User Interface Check if any issues with User Interface

Display UI Success

3

Validation Check Checking if the trip name is entered or not

Trip name is entered

and table is created with trip name in database.

Success

4

Trip Information Checking if the previous trips information can be retrieved form the databases accurately.

The previously stored trip information in database is retrieved on clicking trip name.

Success

5

Saving Trip Information Checking if the trip information can be saved to the device gallery or not

The download option in menu item saves the trip to the gallery with a toast message.

Success

Table 1. Testing results.

Page 41: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

34

5.3 Users Evaluations Report

The application performance statistics is taken with the help of 10 other users who tried

the application on their own mobile devices. The survey comprises of a set of questions

with options averaging up to the specified results on a scale of 1-10 as shown in Table 2.

The suggested improvements from the users such as, providing directions between selected

places and taking current location of the user were considered and are referred for future

work.

Test Scenarios Result

User interface 9.2

User friendliness 9.8

Correct data retrieval 9.4

Saving & sharing options 9.2

Retrieving previous trips 10

Would you recommend this application to

a friend?

9.5

Table 2. User Evaluations.

Page 42: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

35

6. CONCLUSION AND FUTURE WORK

6.1 Conclusion

The application design provides the mentioned services to its users in the form of an

android platform. The “Travel-It” application provides complete features enabling the user

to generate a recreational trip by giving complete information about the places of visit. This

application provides an itinerary of the trip planed as per user’s preferences which can be

saved and shared for future use. The itinerary contains the list of places selected as per time

of day and also displays the distance between the places selected.

Thus, this application overcomes the limitations of existing applications as

mentioned previously in section 1.4.1, by providing customization option for setting radius

and also to select particular places of interest throughout the trip plan.

6.2 Future Work

The application can be further improved by adding the following functionalities:

Adding directions for travel from one selected location to another.

Providing users with option to search for places of interest (Museums, Zoos, etc.)

by taking the current location or address of the user.

Adding option for providing means to customize the units of measurement while

entering the radius value.

Adding option to sort the list of places of interest (Museums, Zoos, etc.) based on

features such as rating, price level.

Page 43: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

36

7. BIBLIOGRAPHY

[1] Smart Travel Guide: Application for Android Mobile.

http://www.ijecscse.org/papers/SpecialIssue/comp2/171.pdf

[2] A Survey on Android Based Application to Provide Information about Pune City.

https://www.ijircce.com/upload/2016/february/166_63_A%20SURVEY.pdf

[3] Android Development 2017.

https://developer.android.com/about/dashboards/index.html

[4] Statista- The Statistics Portal.

https://www.statista.com/chart/4431/smartphone-operating-system-market-share/

Page 44: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

37

APPENDIX A: Code Snippets

This section consists of few code snippets which perform the main tasks of execution.

Main Screen Activity:

Page 45: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

38

Place Planner Activity:

Page 46: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

39

Place Details Activity:

Page 47: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

40

Day Planner Activity:

Page 48: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

41

Saving Itinerary Event:

Page 49: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

42

Calendar Event:

Page 50: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

43

Customization Event:

Page 51: A Customizable Travel Application- “Travel It”sci.tamucc.edu/~cams/projects/511.pdf · A Customizable Travel Application- “Travel-It ” GRADUATE PROJECT Submitted to the Faculty

44

Places on Map Event