Internship Report

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 68

1

TITLE
A project work submitted to
K L Deemed to be University under the
partial fulfillment of B.Tech (2ndYear) during
2017-18

By

Name:J Venkata Avinash

RollNo:160050086

SummerTraining
DURATION OF THE
INTERNSHIP

Under taken at

Erusen software Pvt.Ltd

Gachibowli,Hyderabad

1
2

Erusen Pvt Ltd


Gachibowli,Hyderabad

CERTIFICATE

This is to certify that Ms.J Venkata Avinash student of Koneru Lakshmaiah


Education Foundation Deemed to be University in Guntur, Andhra Pradesh has
done the project work on “App Development” under my guidance in Erusen
Software Pvt Ltd from 1stJune 2018 to 1stJuly 2018.

Project supervisor Head of the Company

Naveen Varma Sai Shashank

2
3

Acknowledgements

It is truly a matter of great pleasure for me to express my sincere thanks and


gratitude to Sai Shashank Head Of the Erusen Pvt.Ltd for his valuable guidance
and encouragement through out the course of this project. I am immensely in
debted to Mr.Naveen Varma for the invaluable help that herendered to me at
every step of this project.

I also express my thanks to Sai Shashank Founder and CEO of Erusen Pvt.Ltd
for allowing me to do this project work.

I also take this opportunity to thanks all research and administrative staff of
Erusen Pvt.Ltd for their cooperation during this project. My thanks are also due
to the staff of the library, Erusen for their help and cooperation.

3
4

Abstract

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


4
5

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
5
6

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


6.5 Test Result ...................................................................................... 40
7 CONCLUSION ........................................................................................ 42
BIBLIOGRAPHY ....................................................................................... 43
APPENDICES ............................................................................................. 45

6
7

SYMBOLS AND ABBREVIATIONS

CSS Cascading Style Sheet


HTM Hyper Text Markup Language
L
JavaScript
JS
Graphical User Interface
GUI
Software Development Kit
SDK
Java Development Kit
JDK
Android Virtual Device
AVD
Software as Service
SaaS
Voice over IP
VoIP

7
8

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

8
9

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

9
10

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
10
11

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 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.

11
12

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


12
13

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

13
14

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:

14
15

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.

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.

15
16

10

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.

16
17

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
17
18

every plugin, such as Git, Markdown and Gradle. Figure 1 presents the
interface of Android Studio.

18
19

12

Figure 1. Interface of Android Studio (stormzhang 2018)

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
19
20

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.
Secondly, Java code is “robust” because of its safety inspection rule.
Thirdly, Java is object-oriented which is easier than C++ (Rouse 2007).

20
21

13

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.

21
22

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.

22
23

Figure 2. What functions are necessary to obtain?

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.

23
24

15

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.

24
25

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

25
26

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.
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.

26
27

17

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.

27
28

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
28
29

simple to use, even for people who do not have IT background

29
30

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.
30
31

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,
31
32

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.

32
33

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


33
34

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


34
35

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”,

35
36

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


table.

Table 1. App_home

Property Data Type Description

Automatic increase of the


_id Integer
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.

36
37

24

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

37
38

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.

38
39

Figure 10. Module Relationship Diagram

39
40

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.

40
41

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.

41
42

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.

42
43

29

Table 6. Purpose of Each Resource File


Resource Directory Files Name Explanation

animation1.xml Animation for interface

animator
animation2.xml mutual transformation

audio.png

home.png

ticket.png

shop.png These pictures are used

bg3.jpg in project, such as click

drawable
museum1.png button, user interface
logo and so
news1.png on.

onlineticket.png

sourvenirs.png

......

Home.xml Home page interface

audio.xml Audio page interface

layout
ticket.xml Ticket page interface

shop.xml Shop page interface

43
44

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

44
45

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.

45
46

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.

46
47

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.

47
48

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
android.permission.ACCESS_NETWORK_STATE 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.

48
49

32

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.

49
50

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


50
51

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”.

51
52

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


52
53

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

53
54

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

54
55

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.

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

55
56

37

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

56
57

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.

57
58

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

58
59

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,

59
60

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

60
61

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.

61
62

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
62
63

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.

63
64

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
64
65

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.

65
66

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=9C8OzZiE
Ki&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_goog
le.
Wang, X., Zhang, G. & Shen, J. 2010. Android application development.
Tsinghua University Press. 3.2010. Accessed 25 August 2015.

66
67

Young, M. J. Easy to get XML. Translated by Lin J. 8.1.2001.


Accessed 25 August 2015.

67
68

68

You might also like