development of mobile travel guide application for …

49
DEVELOPMENT OF MOBILE TRAVEL GUIDE APPLICATION FOR MUSEUMS Mi Hu & Yu Weng Bachelor’s Thesis School of Business and Culture Degree Programme in Business Information Technology Bachelor of Business Administration 2016

Upload: others

Post on 26-Dec-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

DEVELOPMENT OF MOBILE TRAVEL GUIDE APPLICATION FOR MUSEUMS

Mi Hu & Yu Weng

Bachelor’s Thesis School of Business and Culture

Degree Programme in Business Information Technology Bachelor of Business Administration

2016

School of Business and Culture Degree Programme in Business Information Technology Bachelor of Business Administration

Abstract of Thesis

Author Mi Hu & Yu Weng Year 2016 Supervisor Johanna Vuokila Commissioned by Title of Thesis Development of Mobile Travel Guide Application for Museums Number of pages 44 + 5

In recent years, the development of worldwide travel has been outstanding. At the same time, due to the fast development of the travel business, it is important to offer tourists an enhanced travel platform. In China, most of museums still use narrators to do presentation about exhibition. In order to support museums to provide service in various ways, online product is essential. During the research process for completing this Thesis work, a mobile travel guide application was developed according to the existing condition of museums, which is based on an existing application. The objective of this project was to develop a mobile travel guide application with added functions to an existing application. The main goal of the application is to provide a wide variety of functions for museums to benefit visitors to museums. Moreover, this application aims to reach the right target group, and do real-time data analysis. The research draws from the actual demand analysis, developing a mobile application on the Android operating system. The application is an interaction application, and is added with some functions that are different from the existing one. The constructive research method was used to specify and analyze possible existing problem, in order to achieve a satisfactory result. Database concept was studied to construct database for the application. Usability studies were used to create graphical interfaces. There were several tools used in the development. Android studio was utilized to create the Android development environment. Hierarchy viewer is a tool to examine and design the User Interface. The test tool Android Virtual Device Nexus 5 in Android studio was mainly used for program automatic testing. The outcome of this research is a practical and easy application that everyone is able to use. It includes basic function which is textual and audio explanation, and added functions which are online ticketing sale and online shop service. Key words Mobile application, Android

CONTENTS

ABSTRACT

SYMBOLS AND ABBREVIATIONS .................................................................... 4

FIGURES AND TABLES ..................................................................................... 5

1 INTRODUCTION ............................................................................................ 7

1.1 Background Information and Motivation................................................. 7

1.2 Objectives and Scope ............................................................................ 8

1.3 Research Questions and Research Methodology .................................. 8

1.4 Assumptions and Limitations ............................................................... 10

1.5 Structure .............................................................................................. 10

2 SYSTEM DEVELOPMENT ENVIRONMENT AND TOOLS .......................... 11

2.1 Android Development Environment ..................................................... 11

2.2 Development Tools .............................................................................. 11

3 ANALYSIS OF MOBILE TRAVEL GUIDE APPLICATION ............................. 14

3.1 Requirements Analysis ........................................................................ 14

3.2 System Analysis .................................................................................. 15

3.3 Structure Analysis ................................................................................ 17

4 APPLICATION DESIGN ................................................................................ 20

4.1 User Interface Design .......................................................................... 20

4.2 Database Design ................................................................................. 23

4.3 Program Module Design ...................................................................... 25

5 PROGRAM DEVELOPMENT ........................................................................ 27

5.1 Documents’ Structure and Purpose ..................................................... 27

5.2 Core Code of Mobile Travel Guide Application .................................... 29

5.3 User Interface Layout........................................................................... 33

6 SYSTEM TEST .............................................................................................. 36

6.1 Starting Android AVD ........................................................................... 36

6.2 Starting Travel-guide Application ......................................................... 36

6.3 Other Pages ......................................................................................... 38

6.4 Exiting the Program ............................................................................. 40

6.5 Test Result ........................................................................................... 40

7 CONCLUSION ............................................................................................... 42

BIBLIOGRAPHY ............................................................................................... 43

APPENDICES ................................................................................................... 45

4

SYMBOLS AND ABBREVIATIONS

CSS Cascading Style Sheet

HTML Hyper Text Markup Language

JS JavaScript

GUI Graphical User Interface

SDK Software Development Kit

JDK Java Development Kit

AVD Android Virtual Device

SaaS Software as Service

VoIP Voice over IP

5

FIGURES AND TABLES

Figure 1. Interface of Android Studio (stormzhang 2014) ................................. 12

Figure 2. What functions are necessary to obtain? ........................................... 14

Figure 3. Use Case Diagram............................................................................. 16

Figure 4. Structure of User Interface ................................................................. 18

Figure 5. Structure of Administration ............................................................... 19

Figure 6. Interface of Homepage ...................................................................... 21

Figure 7. Interface of Scenic Spot Information .................................................. 21

Figure 8. Interface of Ticketing Sale ................................................................. 22

Figure 9. Interface of Online Shop .................................................................... 22

Figure 10. Module Relationship Diagram .......................................................... 25

Figure 11. Source Code Structure .................................................................... 27

Figure 12. Code of Creating Database ............................................................. 30

Figure 13. Code of Implementing Audio Player................................................. 31

Figure 14. Code of Ticket Payment Function .................................................... 32

Figure 15. Content of Home.xml ....................................................................... 33

Figure 16. Content of Audio.xml ........................................................................ 34

Figure 17. Content of Ticket.xml ....................................................................... 34

Figure 18. Content of Shop.xml ........................................................................ 35

Figure 19. Interface of Virtual Device ................................................................ 36

Figure 20. Interface of Mobile Screen ............................................................... 37

Figure 21. Interface of Homepage .................................................................... 37

Figure 22. Interface of Ticketing Service ........................................................... 38

Figure 23. Interface of Scenic Spot Information ................................................ 39

Figure 24. Interface of Online Shop .................................................................. 39

Figure 25. Interface of Exit ................................................................................ 40

6

Table 1. App_home ........................................................................................... 24

Table 2. App_audio ........................................................................................... 24

Table 3. App_shop ............................................................................................ 24

Table 4. App_ticket ........................................................................................... 25

Table 5. Name of Source Code and Explanation .............................................. 28

Table 6. Purpose of Each Resource File .......................................................... 29

7

1 INTRODUCTION

1.1 Background Information and Motivation

The thesis research focuses on the development of the mobile travel guide

application by applying software engineering principles and software

development methods based on an existing one. “Mobile tourism is an emerging

trend in the field of tourism involves the use of mobile devices as electronic guides”

(Smirnov, Kashevnik, Balandin & Laizane 2013, 94). Users are able to get

enriched travel information on the Internet; however, there is a limitation to get

information timely when they are on move (Jinendra, Bhagyashri, Pranav, Seema

& Parag 2012, 1). From museums’ perspective, users are able to use the

application with and without network, which helps museums to be known by more

tourists. In the process of development, a use case diagram and structure

diagrams were described. In this research, the existing condition, design idea and

implementation methods of application which were built on Android environment

were described. Furthermore, the analysis and design of the application were

based on the actual using situation.

There is one personal motivation of this research. During the practical training we

both developed a basic mobile application in Germany for a company called

stARTistics. Therefore, with this experience and knowledge acquired, we decided

to develop additional functions based on the existing application. A German

company called stARTistics commissioned this research. Both researchers Mi Hu

and Yu Weng did their practical training in this company. During the practical

training, we designed the basic framework of the application, constructed

database and analysed Chinese museum market in China. Moreover, we did

preparation work which includes employed staffs to write texts, record audios and

take pictures. The Creative Director knew we planned to develop more

functionalities for the application, he was very supportive and was ready to

answer any questions that we had during the research process.

This research will be of benefit to museums those want to benefit from online

products, such as ticketing and souvenirs sales. Using the travel guide application

on mobiles for free has become a trend due to the increase in the use of mobile

8

equipment. There are not many people spending money to rent audio guides in

museums. Therefore, mobile travel guide applications have the development

value if museums want to attract more tourists.

1.2 Objectives and Scope

The main objective of this research is to develop a mobile travel guide application

with added functions to an existing application. Especially in this application,

interaction between users is the new function compared to traditional travel

guides for museums. We decided to design this application because a lot of

people think there are similar products already exist on the market. However,

after we conducted the market research, there was only one single function on

most of travel guide applications, and full-featured products were not listed. Thus,

the purpose of designing this product is to make a travel guide application which

contains possible integration of a number of features. Therefore, users may use

a more convenient application. Online ticketing and online shop sale services

allow users to buy tickets and souvenirs anywhere with an access to a network.

Therefore, it is unnecessary for users to go to museums personally.

This thesis research provides a new mobile application in the “Online Travel Tool”

field. Firstly, the research focuses on the museum travel guides. Secondly, the

application has supporting functions, such as online ticketing sale, online shop

service, and audio guide. Thirdly, these research issues are focused on the

traditional travel guide application.

1.3 Research Questions and Research Methodology

Based on the objectives and the scope of this work, the following research

questions are addressed.

1. What added functions will be designed in the travel guide mobile application?

In order to design added functions to the mobile travel guide application based

on an existing one, it is important to have a plan of design concepts and design

methods. Answers to this research question is online ticketing sale and online

shop service. The thesis describes the process of functions design in the

9

mobile application. Software engineering principles are an essential

framework to guide the design.

2. What benefits will users and museums acquire from the application?

This thesis analyses the market of travel guide mobile applications in order to

study the impact of mobile application on users and museums. Comparing

with to the existing mobile applications is important to know what advantages

our application has.

The research method used in this study was constructive research and

questionnaire. The travel-guide application design theory was presented in this

research, and this theory was based on our practical training company’s

application. On this basis, there are development functions designed on this

mobile application, such as digital shop and online-ticketing.

This thesis involves mostly development work based on the literature. The

research is developmental and explanatory because it makes clear

understanding of how the mobile application was accomplished and the

production processed.

Due to the fact that this research is the development work, there are some

development tools to be used in this study. For instance, the mobile application

under development was based on the Android operating system. Therefore,

Hierarchy Viewer was a mandatory tool. It comes with Android and it is the

Android APP development tool that helps us to better examine and design the

user interface (hereinafter UI). Hierarchy Viewer has two main functions as

follows:

1. Intuitive access to UI layout structure and properties of a variety of information

from the visual point of view, help us to optimize the layout design;

2. Combined debug help observe specific UI objects and requestLayout process

invalidate operation.

10

The two features illustrated above are the reasons we chose to use it. Hierarchy

Viewer is able to help us better review and design UI. Therefore, it was found

useful to use in conducting this research.

1.4 Assumptions and Limitations

This mobile travel guide application available is limited to the recent operating

system versions. For instance, the application is available on smartphones with

the recent Android operating system. However, this application is new, the data

of museums which we corporated in application may need more time to upgrade.

In addition, in order to implement the mobile application, we needed to pay the

staffs who have professional skills to record the audio and write museums’

descriptions. Consequently, the practical demonstrations are limited by financial

and human resources.

1.5 Structure

This thesis is divided into 7 chapters. Chapter 2 introduces development details

and tools. Chapter 3 focuses on analyzing the application. Chapter 4 describes

the development details. Chapter 5 presents the operation of the mobile

application. Chapter 6 lists the steps of system test. The final chapter, chapter 7

draws the conclusion of the thesis and discusses the benefits of the mobile

application.

11

2 SYSTEM DEVELOPMENT ENVIRONMENT AND TOOLS

2.1 Android Development Environment

Java programming language was chosen for this research, meanwhile it needed

to be debugged by using AVD. Android Studio is recommended by Google as the

Android application development tool. In order to finish the development of Java

programming language, an easy used tool JDK is needed.

However, there is a big difference between Android application development and

Java development, Android SDK is necessarily used as well. In addition, there

are a few self-made images need to be inserted, Photoshop is a good tool to

process pictures.

2.2 Development Tools

Android Studio

Android Studio is a “fairly new IDE (Integrated Development Environment) made

available for free by Google to Android developers”, it is “based on IntelliJ

IDEA, an IDE that also offers a good Android development environment”

(Govender 2014). Compared with Eclipse, Android Studio has better startup time,

response speed and memory usage. What’s more, it has smarter editor which

absorbs advantages of Eclipse and ADT, and has real-time preview of interface

as well. Studio also supports every plugin, such as Git, Markdown and Gradle.

Figure 1 presents the interface of Android Studio.

12

Figure 1. Interface of Android Studio (stormzhang 2014)

Android SDK and JDK

Android SDK is “the Android Software Development Kit contains the necessary

tools to create, compile and package Android applications”, and “the primary way

to develop Android applications is based on the Java programming language”

(Vogel 2015).

Every programming language has its own SDK, and it is available for various

languages. The SDK for Java is called JDK, the Java Development Kit, which is

included in SDK.

Java Programming Language

Java programming language is “designed to have the ‘look and feel’ of

the C++language”. It “can be used to create complete applications that may run

on a single computer or be distributed among servers and clients in a network”,

and “build a small application module or applet for use as part of a Web page”

(Rouse 2007). Java has the following major characteristics. Firstly, programs

created by Java are portable in network. The source program compiled into with

Java is bytecode, it can be run both on a server or a Java virtual machine.

13

Secondly, Java code is “robust” because of its safety inspection rule. Thirdly,

Java is object-oriented which is easier than C++ (Rouse 2007).

Photoshop CS3

Photoshop was originally released in 1990 and has been popularly used for 25

years. It was created by Adobe Systems and it is the “predominant photo editing

and manipulation software” for both professionals and beginners (University of

Washington 2014). On one hand, with Photoshop every picture is able to be

created and edited professionally. On the other hand, it is easy to begin editing

the pictures (Soffar 2015). Photoshop is used for editing pictures in this thesis.

14

3 ANALYSIS OF MOBILE TRAVEL GUIDE APPLICATION

3.1 Requirements Analysis

Requirements analysis “also called requirements engineering, is the process of

determining user expectations for a new or modified product” (Rouse 2007). The

precondition of application used is a wide range of user participation. Therefore,

the functional specification needs to be generated according to the user

requirements. Besides, the requirements determined every function priority inside

the application.

According to the current situation of mobile travel guide application and user

demands, there are a few functions added and improved to the existing one.

Before designing the application, we made a questionnaire available on a website

called wenjuan.com. There were 177 responses to a questionnaire collected from

common mobile phone users; they were School Mates from Lapland University

of Applied Science and our friends. The results were analysed by the system

automatically. In the survey, 65.34% of the respondents represent the age group

of 18-25 years. A total of 96.59% of all users are using smart phones and 55.68%

are using Android system. One of the questions asked was as follows: “If there is

a travel guide application for you, what functions you think are necessary?” Figure

2 shows the result.

Figure 2. What functions are necessary to obtain?

15

Firstly, through the questionnaire result and combining our own thought, online

ticketing and online shopping services were chosen to be designed. As the

Internet penetration gets higher and higher, modern people’s life style has

changed a lot. Literature also points out this aspect by stating that “Since the

Internet has made things simpler”, there is no reason to stand in the long lines to

get one ticket, because by touching a few keys on the phone one can buy tickets

easily (Roben 2014). Considering other aspects, secondly, login function with

valid email address and password should be provided for users, and the system

should be able to manage and maintain all user accounts. Thirdly, the application

should be able to add and publish new scenic spots information. It includes texts,

audios and photos, and it needs to be displayed properly on the mobiles. Fourthly,

the information should be able to be modified and maintained in the application,

which includes user login information, scenic spots information, online ticket

information and shop product information. Fifthly, after the application is getting

online, users are able to give feedback and post their own suggested trip itinerary

on website or in scoring system.

3.2 System Analysis

The use case is “a methodology used in system analysis to identify, clarify, and

organize system requirements” (Gibilisco 2015). Based on the requirement

analysis, a use case diagram was built as Figure 4 shows below. Since the

application is used for both internal access and external access, the diagram

illustrates different access rights of different user groups and provides all of the

possible function of the application from user and administrator points of view.

There are two groups of users, user and administrator. Moreover, according to

the application character, there are four aspects of functionalities which are

content management, account management, ticket order and product order.

16

Figure 3. Use case diagram

As Figure 3 shows above, the first functionality is content management. “A

content management system (CMS) is a system used to manage the content of

a Web site” (Rouse 2011). All data and information are created, edited, deleted

and maintained here. However, only the administrator has right to do these

operations. Once there is content added or modified by the administrator, the old

content will be updated in the system. The user is only able to view the content.

The second functionality is account management. There are two kinds of

accounts, one of which is the user account, and the other is the administration

account. The user needs to register an account with an email address and set a

password first and then login. If the user wants to change the password, he or

she will receive a validation link in the mailbox. Only if validation is successful,

the user has right to make changes. Besides, the user does not have any other

access rights. The administrator has full access to operate every function, i.e. he

is able to login, create, edit and delete accounts. Normally, the administrator will

not delete any account, except if there is a threat to the system.

17

The third functionality is ticket order. With this function, when the user inputs a

keyword e.g. Louvre, the system will show the ticket price of Louvre Museum.

Furthermore, if the user buys several tickets, the system will calculate the total

price automatically. The user is able to combine bank card with his or her account.

After paying the payment, the user will receive an E-ticket through phone. On the

other hand, the administrator is responsible for updating the ticket information in

time, which includes add, edit and delete.

The forth functionality is the product order. This function provides a platform of

online shopping to the user. It is similar to the ticket order, i.e. the user inputs any

museum’s keyword, and the museum’s product will display. There is also the

functionality of product introduction and price. The administrator has access right

to add, edit and delete product information.

3.3 Structure Analysis

In order to make the application complete with high efficiency and match the

requirement analysis, the user and administrator must have their own access

control. The application is divided into two parts, i.e. user interface and

administration. The user interface is designed to users, and administration is from

backend to manage all user accounts and data.

User Interface

With the rapid development of technology, “most of the time users are not sure

of what and how they will be using the new systems and their yardstick for the

requirement comes from their current system/process” (Bhatnager 2011). What

is more, “most users expect a system to adapt to their preferred way of working

and to be more interactive rather than being required to change their processes

to accommodate the systems themselves” (Bhatnager 2011). Unquestionably,

the user interface should be as simple as possible and with practical functions as

well. It is extremely important to catch users’ eyes at first time.

18

Figure 4. Structure of user interface

As Figure 4 shows above, there are the following models in user interface:

User login model

Museum relevant news model

Scenic spot information model

Ticketing service model

Shopping service model.

The above models are listed to show what functions users are able to use. What

is more, in sub-models there are detailed introduction of every model.

Administration

The administration is the backend and it is a private operation. The responsibility

is to manage user accounts and update content data. The data is used for

different functions’ information display. To ensure the security of the system, the

username and password are necessary when the administrator logs in. The entry

of administration is placed in the case company’s internal website. Every function

of administration structure is simple to use, even for people who do not have IT

background.

19

Figure 5. Structure of administration

As figure 5 shows above, there are the following models in administration:

Administrator login model

Setting model

User account management model

Museums’ news model

Information model

Ticketing service model

Shopping service model.

The above models are listed to show what limit of authority the administrator has.

It is all-sided that the administrator is able to operate every aspect of the mobile

travel guide application, in order to provide updated and timely information.

20

4 APPLICATION DESIGN

4.1 User Interface Design

According to the requirements, the mobile travel guide application includes four

main user interfaces. Further, the analysis of each user interface is necessary, to

analyze what kind of content should be involved. GUI is a “graphical user

interface to a computer” (Rouse 2006). In GUI design aspects, the design of user

interface comprises the following steps:

UI Designer – user interface design process – Theory of identification of users

and context: “usability analysis outlining potential user capabilities of the

product vs. the initial business and functional requirements and limitations”

(Sergeev 2016).

UI Designer – user interface design process – Theory of navigation and

structure: “the UI-structure outlining the pattern of product’s interface and the

path the user follows while browsing the website (in accordance with the user

scenarios and roles)” (Sergeev 2016).

UI Designer – user interface design process – Theory of compositional

interface design: “the UI-design featuring a catalogue of the key screen

interface forms and requirements to location, priority, form and content of

information, graphical and functional elements” (Sergeev 2016).

UI Designer – user interface design process – Theory of visual interface

design: “the GUI-design outlining visual standards of information, graphic and

functional interface elements” (Sergeev 2016).

There are four user interfaces designed shown as below, which are homepage,

audio page, ticket page and shop page. The design of each page is simple and

clear (Jin & Yao, 2009).

Once the user enters the Homepage interface, the system will request the user

to input the correct Email address and password to login. Furthermore,

recommended museums and museums’ recent activities are displayed on the

view. It is simple for users to find their ideal museum. The interface of homepage

is shown in Figure 6 below.

21

Figure 6. Interface of Homepage

In the scenic spot information interface, users are able to listen to audio guides,

read text guides and view pictures. Figure 7 depicts the interface of scenic spot

information.

Figure 7. Interface of scenic spot information

22

The ticketing sale interface is designed for users to search and order museum

tickets. The tickets information includes purchase date, punch date, ticket amount,

price and tickets code. Figure 8 demonstrates the interface of ticketing sale.

Figure 8. Interface of ticketing sale

The online shop product information interface presents the current museum’s

related products. The product information includes introduction and price. The

shop interface is shown below in Figure 9.

Figure 9. Interface of online shop

23

4.2 Database Design

Database design of the application followed the relational model concept. The

relational model is “the formal model of a database that was developed for IBM

in the early 1970s by Dr. Edgar Frank Codd” and “all modern relational databases

are based on this model” (Jewett 2016). Furthermore, it was designed for

“representing information which does not appear in UML model but is needed for

us to build functioning databases” (Jewett 2016).

There are four kinds of data required to store, and they rely on the normalization

rule. Normalization is “the process of organizing data in a database”, and it

includes “creating tables and establishing relationships between those tables

according to rules designed both to protect the data and to make the database

more flexible by eliminating redundancy and inconsistent dependency” (Microsoft

2013).

Every page has its ID. Homepage’s ID is the primary key, and other sub-pages’

IDs are stored as widget component. Furthermore, other data has its own

property. In the design of relational database, the SQL data definition and query

language were used to store information. Part 1 is the item of homepage that

shows log-in table and museums’ recommendation. Part 2 is the item of text guide

and audio guide. Part 3 is the item of shop products. Further, part 4 is the item of

tickets insert. The database was named as “MuseumApp.db”, and there are four

tables.

In Table 1. App_home, there are primary key id, component id number,

recommend museums, picture of museums and museums’ advertising picture.

The data type of these properties are, in order, “Integer”, “Integer”, “Text”, “Image”

and “Image”. The detailed description is described in the table.

24

Table 1. App_home

Property Data Type Description

_id Integer Automatic increase of the

primary key

widgetId Integer Component ID number

MuseumName Text Recommend Museum

MuseumPic Image Picture of Museum

News Image Museum Advertising Picture

In App_audio (Table 2), the property includes the component id, picture of

museums audio guide of museums and text guide of museum. The data type of

these properties are “Integer”, “Image”, “Text” and “Audio”, in that order.

Table 2. App_audio

Property Data Type Description

_id Integer Store widget component ID

MuseumPic Image Picture of museum

AudioGuide Audio Audio guide of museum

TextGuide Text Text guide of museum

Table 3. App_shop contains the component id, picture of museums, introduction

of products and price of products. The data type of property “_id” is “Integer”,

“MuseumPic” is “Image”, “ProductIntro” is “Text” and “ProductPrice” is “Double”.

Table 3. App_shop

Property Data Type Description

_id Integer Store widget component ID

MuseumPic Image Picture of museum

ProductIntro Text Introduction of product

ProductPrice Double Price of Products

25

There are component id, museums’ name, price of tickets and date of tickets in

Table 4. App_ticket. The data types of every property in App_ticket (Table 4) are

“Integer”, “Text”, “Double” and “Timestamp”, in that order.

Table 4. App_ticket

Property Data Type Description

_id Integer Store widget component ID

MuseumName Text Name of museum

TicketPrice Double Price of ticket

TicketTime Timestamp Date of ticket

4.3 Program Module Design

According to the function analysis, this application should include the program

starter, user interface, backstage service and database processor (Wang, Zhang

& Shen, 2010). The relationship between every module is shown in Figure 10.

Figure 10. Module Relationship Diagram

26

The most important parts of this application are the Backstage Service and Data

Acquisition Module. The Data Acquisition Module is in charge of data collection,

data processing and sending the requirements data to the User Interface. The

Backstage Service is running when App Starter is switched on, and after the

Backstage Service turns on, it is going to keep the running status.

The User Interface obtains the museums’ and log-in information from the

database module. Data Acquisition Module processes with analyzing and dealing

with required information, and then sending the information to Backstage Service,

to enable the User Interface to update the information in time from Backstage

Service.

The Data Acquisition Module and the Database Acquisition Module include all

kinds of method for SQLite manipulation. The User Interface and Backstage

Service are both reliant on the Data and Database Acquisition Module to achieve

the functionality. After finishing the user interface design, database design and

module design, the programming design phase was basically completed.

27

5 PROGRAM DEVELOPMENT

5.1 Documents' Structure and Purpose

At the beginning of the program development stage, the construction name was

determined as “travelguide”. According to the contents of module design, a

primary group called “travelguide” was necessary to be created. The program’s

source code structure is shown in Figure 11.

Figure 11. Source Code Structure

In the source code structure shown above in Figure 11, the main java code has

nine sections. The resource includes animator, layout and menu. Besides, the

animator has two sections which are layout and menu. There are four sections

under the layout, and four sections under the menu.

28

Table 5. Name of Source Code and Explanation

Files Name Explanation

accessDB.java App information view from database

Audio.java User interface functions in audio page

audioPlayer.java Set up an audio guide

giftSelection.java Souvenir clickable

Home.java User interface functions in home page

login.java Customers log-in box

Shop.java User interface functions in shop page

Ticket.java User interface functions in ticket page

ticketPurchase.java Ticketing function enable

In order to make the structure of the source code files clearer, there were multiple

domain names and space set up in the primary group “travelguide”. They were

used to save user interface, database and functional code documents. Table 5

above is the name of the source code and explanation.

29

Table 6. Purpose of Each Resource File

Resource Directory Files Name Explanation

animator animation1.xml Animation for interface

mutual transformation animation2.xml

drawable

audio.png

These pictures are used

in project, such as click

button, user interface

logo and so on.

home.png

ticket.png

shop.png

bg3.jpg

museum1.png

news1.png

onlineticket.png

sourvenirs.png

......

layout

Home.xml Home page interface

audio.xml Audio page interface

ticket.xml Ticket page interface

shop.xml Shop page interface

The source files of Android were saved in /res. Herein, the /res/animator directory

was stored in XML files about generating animation, while the /res/drawable

directory was stored in image files, and the /res/layout directory was stored in

user interface XML files. All resources in the program development phase can be

stored in these directories (Young 2001). The specific purpose of every resource

file is shown above in Table 6.

5.2 Core Code of Mobile Travel Guide Application

Showing information from database

There are a lot of information needed to be obtained from the SQLite database.

For instance, the museums’ activities always require update the recent data in

real time, and these data are saved in database. Therefore, application client

30

requires a method to connect database. The main code involved with creating

database is shown in Figure 12.

Figure 12. Code of Creating Database

Creating the database needs to make the database name, database version and

constructor properly. Further, this code is to create the application widget table

and museum_activities table.

Creating Audio Player in Android Studio

The audio guide is one of the basic functions in the mobile travel guide application.

All of the audio files were stored in the database, and the users are able to

download them. The main code to implement the audio player is shown in Figure

13 below.

31

Figure 13. Code of Implementing Audio Player

The code above is regarding to create the audio player. The functionalities

include searching audio resources, starting to play and pause the audio. The

audio player will judge the audio’s length duration and current duration.

Furthermore, it will check if the audio is playing or not automatically.

Ticket Purchase Function Method

The travel guide application contains the tickets payment function. However,

there is no need to add the competence of android.permission.INTERNET and

32

android.permission.ACCESS_NETWORK_STA-TE in debugging stage.

Therefore, the main code was only implemented to turn into the payment step.

The specific code is shown in Figure 14 below.

Figure 14. Code of Ticket Payment Function

“Fiap object” refers to the product that the user chooses. Once the product is

confirmed, the information will be passed to the container. After that, the payment

method will be selected, and the payment amount will be displayed.

33

5.3 User Interface Layout

The travel guide application contains four main pages, which are Home.xml,

audio.xml, ticket.xml and shop.xml. In the user interface design, AppWidget

frame structure was adopted and intuitive interaction was provided. Four user

interfaces were designed in a simple style and easy to operate. The detailed

content of each of them are shown below. Figure 15 displays the content of

Home.xml, Figure 16 illustrates the content of audio.xml, Figure 17 demonstrates

the content of ticket.xml and Figure 18 shows the content of shop,xml.

The content of homepage covers images, text and buttons. After determining the

basic pattern, the sub-objects need to be set. For instance, “imageLeft” is located

on the left side of the screen. In order to set an image of a museum. Therefore,

“museum1” is the sub-object of the “imageLeft”.

Figure 15. Content of Home.xml

The content of audio includes images, text and buttons. The “audioPicHolder” is

a picture folder of the item that audio talks about. Therefore, “audioPic” is the sub-

object of “audioPicHolder”.

34

Figure 16. Content of audio.xml

The content of ticket-page contains text, buttons, image buttons and

image. “TicketTopview” is located on the upper part of the screen, and this

section is for the image which is “tickets”. Hence, “imageView” is the sub-object

of the “ticketTopView”.

Figure 17. Content of ticket.xml

35

The content of shop-page has image view, image button and buttons. For

example, “topBar” is on the upper part of the screen, and this part is for setting

an image which represent “souvenir”. Therefore, “souvenir” is the sub-object of

the “topBar”.

Figure 18. Content of shop.xml

36

6 SYSTEM TEST

6.1 Starting Android Virtual Device

So far, the coding work has been completed. The travel guide application is ready

to be tested, and the test steps and results are described in this chapter. The

Android virtual device Nexus 5 was used, and the test system was Android 5.1.1.

As shown in Figure 19.

Figure 19. Interface of Virtual Device

The interface of virtual device is extremely similar to the real device. On the upper

left corner of Figure 19, there was the text “Android”. On the upper right corner,

there were signal symbol, battery status and user button. In the mid position, time

and date information were presented. At the bottom, it was possible to use mouse

sliding to unlock the virtual mobile phone. The boot speed of virtual device

depends on how much size of Disk is given by the computer. For this testing, one

Gigabyte size Disk was set for virtual device.

6.2 Starting Mobile Travel Guide Application

Unlocking the AVD, and choosing “TravelGuide”. The application ran successfully,

the user was able to type in log-in box. The status were displayed in Figure 20

and Figure 21.

37

There were several default icons on the mobile screen in Figure 20. However,

due to the test was under a virtual environment, not all of the functions could be

used, such as camera, maps and email. The travel guide application icon was

the second last of the bottom row. The name was titled as “TravelGuide”.

Figure 20. Interface of Mobile Screen

On the homepage, the user was able to input his/her email address and password

to log in the system. The picture in the middle included museums’ news and

information, in order to let users know some museums’ activities directly. Further,

users were able to jump to audio, ticket and shop page by clicking three icons at

the bottom.

Figure 21. Interface of Homepage

38

6.3 Other Pages

Clicking “tickets” button, the page turned into ticketing service page. As shown in

Figure 22. In the ticketing service interface, the user could operate ticket

information easily, such as purchase date, number of tickets and total price. “BUY

NOW” is the button to confirm the ticket information and implement the payment.

Figure 22. Interface of Ticketing Service

Clicking “audio” button took the user to the scenic spot information interface. Both

audio and text guides worked well in Figure 23. In the scenic spot information

page, the user could choose different audio guides. Besides, the pictures and

texts were changed with the selected audio. For example, if the user chooses

audio guide of the Louvre, the picture will change to a symbol of the Louvre, and

the text will be same with the audio information.

39

Figure 23. Interface of Scenic Spot Information

Clicking “shop” button, the button looked like a blanket. Every picture worked

successfully as shown in Figure 24. In the online shop page, the user was able

to select favorite product if he/she was interested in the museum. The products

can be pre-ordered by choosing pictures.

Figure 24. Interface of Online Shop

40

6.4 Exiting the Program

It was same as the real operation, clicking enter backstage button, then clicking

exit button on “TravelGuide”. So far, the system test was finished as shown in

Figure 25.

Figure 25. Interface of Exit

In the interface of exit, exiting the application was same with the operation of a

real device. The user can hold the application’s border and pull to right, then it

was successful to exit the application.

6.5 Test Result

The Android AVD was based on Android Studio. Nexus 5 was chosen to be the

virtual device, and the testing system was Android 5.1.1. This travel guide

application should follow the recent device and operation system. At first step,

the application started successfully without any errors. Then, every “onclick”

button worked, and the text-typing box was able to type in.

After the home page testing, the page switched to other three pages by clicking

each button at bottom. These three interfaces include scenic spot information

page, ticketing service page and online shop page. It took a long time to finish

the whole test, every function operated successfully. However, there was one

41

problem during the test, which is the Android AVD’s RAM was allocated

insufficiently. Therefore, this application has possibility to crash during the

operational status.

42

7 CONCLUSION

Deriving from the objectives of this research, the outcome of the research was

development of a mobile travel guide application with added functionalities to an

existing application, and quizzes for every part were included as well. The

objective of the travel guide application was to develop functions of audio guide,

online ticketing sale and online shop service. The aim of the travel guide was to

provide the users with a more convenient application to users compared with the

traditional travel guide.

The added functions to an existing application were the core focuses of this thesis

study. On the Internet, some basic function codes are presented as open source

code, which provides convenience to the development. For instance, the audio

feature was implemented by using MP3 code. Mostly, regarding the similar

applications, the old version of application’s implementation had many kinds of

issues with scaling the layout or others. Thus the new version which developed

this time had to be an integral one.

The results of the questionnaire made a good answer to the research question,

and provided useful information to develop the application for museums. It is

shown that Android hold a strong user group, so that the application was

designed based on Android system. Furthermore, mobile has become a kind of

indispensable tool of modern people, and more and more applications are

provided for users to choose. To know user requirements may develop the

application better.

Within this Bachelor level thesis study, only three added functionalities were

designed and developed. However, there is still a wide range of space to improve

and develop more functionalities, such as the navigator function which includes

Global Positioning System and route navigation. The multiple language choice

function may be worked on mobile instead of only on web. The feedback function

is able to let users share information and recommend certain museums to other

users.

43

BIBLIOGRAPHY

Bhatnager, S. 2011. Importance of User Interface. Accessed 13 February 2016 http://www.governmentciomagazine.com/2011/12/importance-user-interface.

Gibilisco, S. 2015. Use case diagram (UML use case diagram). Accessed 13 February 2016 http://whatis.techtarget.com/definition/use-case-diagram.

Govender, S. 2014. Getting Started With Android Studio. Accessed 20 November 2015 http://code.tutsplus.com/tutorials/getting-started-with-android-studio--mobile-22958.

Jewett, T. 2016. Database design with UML and SQL, 3rd edition. Accessed 20 February 2016 http://www.tomjewett.com/dbdesign/dbdesign.php?page=models.html.

Jin, Y. & Yao, S. 2009. Android Google development entry and actual combat. People’s Post and Telecommunications Press.

Jinendra, R. D., Bhagyashri, R. J., Pranav, Y. G., Seema, U. V. & Parag, N. A. 2012. Smart Travel Guide: Application for Android Mobile. Accessed 10 March 2015 http://www.ijecscse.org/papers/SpecialIssue/comp2/171.pdf.

Microsoft 2013. Description of the database normalization basics. Accessed 25 August 2015 https://support.microsoft.com/en-us/kb/283878.

Roben 2014. Advantages of buying tickets on the net for concerts. Accessed 11 February 2016 http://issuu.com/roben11/docs/advantages_of_buying_tickets_on_the.

Rouse, M. 2007a. GUI (graphical user interface) definition. Accessed 10 September 2015 http://searchwindevelopment.techtarget.com/definition/GUI.

Rouse, M. 2007b. Requirements analysis (requirements engineering). Accessed 10 September 2015 http://searchsoftwarequality.techtarget.com/definition/requirements-analysis.

Rouse, M. 2007c. Java definition. Accessed 10 September 2015 http://searchsoa.techtarget.com/definition/Java.

Rouse, M. 2011. Content management system (CMS). Accessed 13 February 2016 http://searchsoa.techtarget.com/definition/content-management-system.

Sergeev, A. 1999-2010. User Interfaces Design. Accessed 03 March 2016 http://ui-designer.net/interface_design.htm.

44

Smirnov, A., Kashevnik, A., Balandin, S. I. & Laizane S. 2013. Intelligent Mobile

Tourist Guide Context Based Approach and Implementation. Accessed 10 March

2015

https://books.google.com.hk/books?id=tci5BQAAQBAJ&pg=PA96&lpg=PA96&d

q=current+situation+of+mobile+travel+guide&source=bl&ots=9C8OzZiEKi&sig=

ZH-9DIRVTtz1lB0iEF0K4JsfBS8&hl=zh-CN&sa=X&ei=EB0-

VaDHJcOysQH6q4GYBQ&ved=0CDgQ6AEwAw#v=onepage&q=current%20sit

uation%20of%20mobile%20travel%20guide&f=false.

Soffar, H. 2015. Adobe Photoshop advantages and disadvantages. Accessed 10 September 2015 http://www.online-sciences.com/technology/adobe-photoshop-advantages-and-disadvantages/.

Stormzhang 2014. Android Studio. Accessed 13 December 2015 http://stormzhang.com/devtools/2014/11/25/android-studio-tutorial1/

University of Washington 2014. What is Photoshop? Accessed 10 September 2015 http://www.washington.edu/itconnect/learn/workshops/online-tutorials/graphics-and-design-workshops/adobe-cs/photoshop/.

Vogel, L. 2015. Introduction to Android development with Android Studio – Tutorial. Accessed 25 August 2015http://www.vogella.com/tutorials/Android/article.html#emulator_google.

Wang, X., Zhang, G. & Shen, J. 2010. Android application development. Tsinghua University Press. 3.2010. Accessed 25 August 2015.

Young, M. J. Easy to get XML. Translated by Lin J. 8.1.2001. Accessed 25 August 2015.

45

APPENDICES

Appendix 1 1(5)

Mobile Travel Guide Application Questionnaire

Q1: What is your gender?

Options Result

Male 56

Female 121

Number of respondents 177

Q2: How old are you?

Options Result

18 1

18-25 115

23-35 44

35-50 17

Number of respondents 177

46

Appendix 1 2(5)

Q3: Which travel way will you choose?

Options Result

Tour group 17

Travel by my self 83

Both way 77

Number of respondents 177

Q4: Do you use smart phone?

Options Result

Yes 171

No 6

Number of respondents 177

47

Appendix 1 3(5)

Q5: What system is run in your smart phone?

Options Result

Android 98

IOS 61

Else 18

Number of respondents 177

Q6: When you are travelling, what functions do you use of your mobile?

Options Result

Normally use 110

Taking photos 146

Travel guide 80

Navigation guide 123

Else 28

Number of respondents 177

48

Appendix 1 4(5)

Q7: How do you prepare your travel arrangement?

Options Result

Join in travel agency 27

Ask friend for advice 88

Search on Internet 165

Follow other's travel itinerary 33

Download a travel guide APP 45

Number of respondents 177

Q8: What functions do you usually use of travel guide APP?

Options Result

Scenic spot's information 64

Route navigation 104

Online ticketing and online shopping 77

Related travelling feedback 57

Number of respondents 177

49

Appendix 1 5(5)

Q9: If there is a travel guide APP for you, what functions do you think is necessary?

Options Result

Comment on scenic spots 68

Multiple language choices 106

Online ticketing 98

Online shopping 39

Suggested trip itinerary 79

Share your travel notes 51

Scenic area and surrounding area navigation 105

Able to give feedback of scenic spots 53

Number of respondents 177