Design and Implementation of a Location-Based Service With Emphasis on a Geographical Database

Design and Implementation of a Location-Based Service With Emphasis on a Geographical Database

Copyright: © 2021 |Pages: 14
DOI: 10.4018/978-1-7998-3479-3.ch094
(Individual Chapters)
No Current Special Offers


One of the most popular apps is location-based services (LBSs) such as navigation, location-based social networks, and location-based advertisements. However, building an LBS is not a simple task because it involves various subjects and techniques like mobile computing, databases, and security and privacy. One of the major LBS components is geographical databases, which are used to store geographic data like locations and functions (such as restaurants and gas stations). A geographical database is usually hosted on a server because of its huge size and should facilitate geographic data storage, indexing, searching, and matching. This article tries to mitigate the high difficulty of LBS construction by showing the construction step by step with a focus on connecting a mobile device to a server-side geographical database. After reading this article, readers will be able to build an LBS prototype for their research or applications.
Chapter Preview


Smartphones are the most popular electronic devices nowadays. People use them to perform daily activities, like managing messages and emails, browsing the mobile Internet, and watching video, anywhere and anytime. One of the popular apps is location-based service (LBS), which is a service based on the geographical position of a mobile handheld device. One of the LBS examples is to find a nearby ethnic restaurant by using a smartphone. According to the market research reports, (i) the global LBSs market was valued at $11,994 million in 2016, and is expected to reach $61,897 million by 2022, supported by a growth rate of 26.6% (Malani, 2017), and (ii) the growing trend for the integration of location-based search with social networking websites will post a growth rate of close to 40% for the global LBS market during 2017-2021 (Technavio, 2017). They show the high importance and popularity of LBSs. However, building an LBS is not a simple task. This research tries to help developers by showing how to build an LBS.

Building a location-based system (LBS) is not easy because various disciplines and subjects are involved. This article tries to mitigate the high complication and difficulty by showing how to build an LBS from the ground up with a focus on connecting the mobile devices to a server-side geographical database. The five major components of an LBS system and our methods for implementing them are listed below:

  • Mobile handheld devices: Android emulator (AVD), instead of a smartphone, is used for development.

  • Positioning systems like satellites: The DDMS (Dalvik Debug Monitor Server) of an AVD is employed to send the mock locations, instead of using actual road testing.

  • Mobile and wireless networks: URL connection, provided by Android, is used to connect the emulator to the service provider.

  • Service providers: The LBS is to show a direction between the user and the nearest participant.

  • Geographical databases: A small geographical database is used by the service provider.

Readers, who are interested in LBS research and applications, can use this paper to build their LBS prototypes. Based on the prototypes, they can realize their LBS research and show the advantages of their proposed methods.

The rest of this paper is organized as follows. Section 2 introduces related software, tools, and services including (i) Android and Android Studio, (ii) MySQL and MySQL Workbench, and (iii) various location-based services. The proposed LBS app is introduced in Section 3, which includes three sub-sections: (i) the proposed system, (ii) the server-side geographical database used by the proposed system, and (iii) the result screenshots. Section 4 explains how to build the proposed system including three sub-section: (i) Android server connection, (ii) client-side code, and (iii) server-side code. The final section summarizes this study and gives possible LBS projects.



This section introduces the software and tools used to build the proposed system including (i) Android and Android Studio and (ii) MySQL databases and MySQL Workbench. In addition, various location-based services are listed to give readers an idea what the market trend of LBSs is.

Key Terms in this Chapter

Android Studio: Since 2014, Android Studio became the primary IDE (Integrated Development Environment) for native Android application development. It is free software under the Apache License 2.0 developed by Google. It includes the following features: (i) intelligent code editor, (ii) code templates and GitHub integration, (iii) multi-screen app development, (iv) virtual devices for all shapes and sizes, and (v) Android builds evolved, with Gradle.

Geographical Databases: They are databases storing a huge amount of geographical data such as information about restaurants and hotels. Service providers usually do not store and maintain all the information requested by users. Instead, geographical data and location information data are usually supplied by a third-party provider like a maintaining authority (e.g., mapping agencies) or business and industry partners (e.g., yellow pages).

SQLite Databases: SQLite is an open source embeddable relational database management system. It supports most of the SQL-92 standard, has support for the major languages, and runs on all major operating systems. The SQL statements are compiled into assembly, which is executed in the SQLite virtual machine, the Virtual Database Engine (VDBE).

Location-Based Services (LBSs): A location-based service is a service based on the geographical position of a mobile handheld device. One of the LBS examples is to find a nearby ethnic restaurant by using a smartphone.

Client-Server Architecture: It is a computing model including servers (the resource or service providers) and clients (the service requesters), where the server hosts, manages, and delivers the resources and services to be used by the client. For example, the electronic commerce systems are usually implemented by using a three-tier client-server architecture, where the server is the e-commerce provider (computing facilities) and the client is the end users (browsers).

Android: Android, developed by the Open Handset Alliance led by Google, is a software stack for mobile devices that includes an operating system, middleware, and key applications.

MySQL Databases: They are open source relational database management systems (RDBMS) that use Structured Query Language (SQL), the most popular language for adding, accessing, and processing data in a database.

MySQL Workbench: MySQL Workbench, a unified visual tool, allows database architects, developers, and DBAs to perform various database management functions including data modeling, SQL development, user administration, and backup.

Complete Chapter List

Search this Book: