Design and Implementation of Object Oriented Location Aware Application for Android Mobile Devices and Web Service Integration

Master's Thesis, 2012

73 Pages, Grade: 1.3


Table of Contents

A. Introduction

B. GLONASS (Global Navigation Satellite System - Globalnaya Navigatsionnaya Sputnikovaya Sistema) and GPS (Global Positioning System)
I. Global Navigation Satellite Systems
II. Satellite Signals
III. Receivers
IV. Navigation Message
V. Errors
VI. Hybrid Systems

C. Location Based Services (LBS) and Positioning
I. Geometric Principles for Positioning
1. Trilateration
2. Multilateration
3. Triangulation
II. Positioning Technologies
1. Cell Tower Triangulation
2. Positioning with Satellites
3. Cell ID
4. Wireless LAN Positioning

D. Android Systems and Application Framework
I. Android Development Environment
II. Differences from other mobile operating systems
III. Android Architecture
1. Linux Kernel
2. Hardware Abstraction Layer
3. Libraries
4. Android Runtime
IV. Applications Framework
1. Android Manifest
2. Activity
3. Service
4. Content Providers
5. Intent
V. Location Manager

E. Web Services and Data Communication between mobile devices and server systems
I. Restful

F. Satellite data observation with Android Mobile Phone, evaluation of data and performance calibration

G. Development of Mobile Application
I. Client side
1. Android Manifest
2. RestClient
3. MyDBHelper
4. MyDB
5. LocationService.class
6. Activities
II. Server side
1. RestService
2. CachedArrayList
3. DBUtil and DBConnection

H. Conclusion
I. Limitation of the Study
II. Recommendation for the future researches

I. Bibliography


Table 1 - Characteristics of GLONASS and GPS

Table 2 - GPS wavelength

Table 3 – GLONASS wavelength

Table 4 - Receiver code measurement in t time at k point

Table 5 - Phases on receiver on t time

Table 6 – Power Management settings of Android

Table 7 – Satellite observations

Table 8 – Database Diagram


Figure 1 - Latitude, Longitude, Altitude

Figure 2 – C/A and P waves

Figure 3 – Shifting process for determine (t) time

Figure 4 - three transmitters with well-known coordinates and unknown current position

Figure 5 - Calculated position according to settled origin

Figure 6 – Triangulation of a point from other two point

Figure 7 – Android Architecture

Figure 8 – Differences of jar and dex file

Figure 9 – Lifecycle of activity

Figure 10 – Lifecycle of service

Figure 11 – Horizontal coordinate system

Figure 12 - Application structure

Figure 13 –Activity structure of Application


Equation 1 - Flatness parameter

Equation 2 – Receiver code measurement in t time at k point

Equation 3 - Phases on receiver on t time

Equation 4 - Trilateration

Equation 5 – Simplified Trilateration

Equation 6 – Simplified Trilateration for second and third points

Equation 7 - receiver coordinate x

Equation 8– receiver coordinate y

Equation 9 – Distances between unknown and well known 3 points

Equation 10 - Setting origin one of transmitter

Equation 11 - Time difference of arrival between unknown and well known 3 points

Equation 12 – Time difference of arrival between unknown and well known three points as expanded

Equation 13 – Calculation with sinus and cosines rule

Equation 14– Circle Distance Formula

Equation 15– Circle Distance Formula

Equation 16– Converting of Circle Distance Formula for range filtering in kilometers


Development of their processing power and memory capacities of mobile devices have brought chance to detect global location of devices over wireless networks, cellular networks and Global Positioning System (GPS). Via the usage of positioning technology business are enabled to provide Location Based Systems to track movement and delivers valuable information from web services. There are several geometric principles for location estimation such as Triangulation, Trilateration, and Multilateration. Along with these principles there are several techniques and limitations according to its indoor and outdoor usage.

All these technological opportunities have broadened the variety of mobile applications, which are based on location data. Nowadays, these types of applications plays important roles for businesses such as services about social life or services for governments. Shortly, location based services determines location, transmit this location data, and receive information from web service.

New generation android devices with its embedded signal receiver have enabled to use location service, mobile maps, and data communication infrastructure to transmit location data to web services. This research will introduce you the architecture and component model of Android Applications including activities, intent receivers, services, and content providers on the system established on Linux kernel and Android runtime, which includes Dalvik Virtual Machine and Android Libraries. Background of Location Manager on android devices, integration to map application of location manager, Geocoding, 3D topographical tracking, Handling Location Errors, Providers and Accuracy are some another fields which thesis are established on. Besides thesis research are demonstrated with a business application developed by Java and XML.


Global Navigation Satellite Systems (GNNS), Global Positioning System (GPS), Global Navigation Satellite System (GLONASS), Globalnaya Navigatsionnaya Sputnikovaya Sistema, Galileo, Location Based Systems (LBS), Satellite Positioning, Satellite systems, Cell ID, Wireless positioning systems, Radio Frequency Identification (RFID) Positioning, Indoor Location detection, Mapping APIs, Mobile Platforms, Privacy and security on LBS, Android, activity, intent receiver, service, Linux kernel, Android runtime, Dalvik Virtual Machine (DVM), Location Manager, Location Providers, Accuracy, Map Activity, GeoPoint, Map Overlay, Location Errors, RESTFull, JSON.

A. Introduction

This study fundamentally attempts to investigate design architecture and application of object oriented location based systems via Android mobile devices. The study consists of six main sections as below:

Chapter B “GLONASS (Global Navigation Satellite System - Globalnaya Navigatsionnaya Sputnikovaya Sistema) and GPS” starts with the research about Satellite systems which include GPS and new GLONASS systems, as well as their comparisons. It continues with Satellite signals and the signal satellite message data. Further, it mentions calculation of global position and finally it describes signal errors and description of hybrid systems that use GPS and GLONASS together.

Chapter C “Location Based Services (LBS) and Positioning” is about mathematical background of location detection and usage of location based systems. Chapter continues with current positioning technologies.

Chapter D “Android Systems and Application Framework” discusses the architecture and application framework of android systems in comparison with other systems.

Chapter E “Web Services and Data Communication between mobile devices and server systems” is about best and most used common model of web service for android mobile platform RESTFul and its one of response formats, JSON.

Chapter F “Satellite data observation with Android Mobile Phone, evaluation of data and performance calibration” is the experiment part of the thesis, and it describes observed data from satellite and possible performance proposes.

Chapter G “Development of Mobile Application” is the practical part of thesis and it reports the developed mobile application, its functionalities, and its structure.

B. GLONASS (Global Navigation Satellite System - Globalnaya Navigatsionnaya Sputnikovaya Sistema) and GPS (Global Positioning System)

Through rapid technological developments, positioning technology becomes more important for our daily life and business. There are several technological methods for localization; each of them has its own specific hardware and devices. Localization technologies are available for global and local points; and these localization technologies differentiate from each other with their background technologies such as Satellite Systems, GSM base transceiver stations, Wireless LANs, Bluetooth, Radio Frequencies and sonar technologies. Each one has different pros and cons; but Satellite system is separated from others with its global coverage capability, with its feasibility for all devices even for mobile phones and its accessibility for individuals. On the other hand, there are some limitations of global navigation satellite systems; most of these limitations are related with lowness signal strength in some specific locations. Fortunately governments are increasing their investments in their satellite systems. Nevertheless, almost as is in every technological development, these investments are primarily realized for security and military concerns. Until this year all navigation systems were depended to GPS (Global Positioning System) of United States, but with the activation of GLONASS of Russian Federation, now devices can calculate signals more alternatively. In addition to current development of global navigation satellite systems, it offers great opportunities by means of Galileo Satellite System of European Union and hardware technologies to process of radio signals of satellites.

Today most known satellite positioning system is GPS, and the other systems are GLONASS, Galileo and Compass/Beidou. In addition to those systems, there are several projects from all over the world to establish their own satellite systems. In order to calculate global positioning, it is required to calculate enough amounts of accessible satellite with sufficient signal strength. Environmental reasons such as deep valleys, building density in streets, indoor positions and atmospheric reasons make difficult to detect satellites from receivers. Therefore, more satellites bring more point of view alternatives and offers faster calculation of location. Both in GPS and GLONASS have limited amount of satellites. Therefore, instead of dedicated system to GPS or GLONASS, hybrid usage of these systems offers more advantages. In this chapter the writer concentrates on GLONASS of Russian Federation but first of all for effective comparison it is better to understand GNSS and GPS as mainstay.[1]

I. Global Navigation Satellite Systems

According to the book “GNSS Application and Methods” edited by Scott Gleason and Demoz Gebre-Egziabher the term navigation is described as;

“The process of determining the position, velocity and, in some instances, the attitude (or orientation) of an object. The object (a vehicle, for example) whose position, velocity, and attitude we are interested in knowing is called the user, and the system that generates the position velocity and attitude solution is the navigator. Together the position, velocity, and attitude solution are called the navigation state vector of the user.”[2]

Satellite based systems consist of three main segments which are Space Segment, Control Segment, User Segment.

Space segment of GNSS has specific amount of satellites, which are circulating around the globe in specific orbit. The amount of satellite is directly related with coverage area of GNSS and must be adequate to be visible at least 4 satellite from on each point of coverage area. Mathematically, 3 satellites are enough for calculation of positioning; but for three-dimensional effective calculations of locations with altitude value, it is required to reach at least 4-satellite signal in specific point of the earth.[3] A satellite has three important units, which are computer, atomic clock and radio transmitter. Computer controls satellite flight, communication, and all other satellite specific processes. Atomic Clock calculates accurate time within three nanoseconds. Radio transmitters send satellite message to the earth.[4] [5]

Control segment is responsible to management of satellites. Master control segments are communicating with satellites through ground antennas and sets orbit parameters, clock parameters, error correction support data and satellite message data. In addition to preparation of satellite message, for specific cases especially for military aspect they responsible to encrypt satellite message to guarantee authorization of navigation system.[6] [7]

User segment is receivers of satellite signals, and each receiver decomposes satellite signals, distinguish signal source, and calculates uncertain location, considers error parameters and calculates absolute location and finds latitude, longitude, altitude. These 3 outputs ensure us to modeling 3 dimensional positioning.[8]

In GLONASS and GPS systems, in addition to signal specifications, there is difference between their orbit distances from earth. GLONASS orbits are on 19100 km, GPS orbits are on 20200 km.[9] In GPS, for space segment, there are 24 total satellites and 3 of them are spare satellites available in any case of other 21 satellites repair or restoration period. With this amount of satellites it is aimed to make visible from any point of earth up to 10 satellites in any time. In contrast, at GLONASS side, there are 24 satellites with 3 spear satellite too, but in GPS system there are 6 orbital planes, in GLONASS there are 3. Therefore, in GPS system for each orbital plane has 4 satellites; on the other hand GLONASS has 8 satellites per orbital plane. According to Habrich (1999) in the book “Geodetic applications of the global navigation satellite system”, GLONASS with this structure, it provides at least 5 satellites visible from 99% of earth.[10]

II. Satellite Signals

Satellite signals of GPS and GLONASS are designed in similar characteristics although they using different signal frequencies. There are two different types of carrier signals, which are L1 and L2. In GLONASS L1 signal is transmitted on 1602-1615.5 MHz frequency bands and L2 signal is transmitted on 1246-1256.5 MHz frequency band. But on the other hand, GPS is using 1575.42 frequency band for L1 and 1227.60 frequency band for L2. For both of GLONASS and GPS, L1 signals modulated to carry C/A code and P code. However, L2 signal is modulated to carry only P code.[11] In GPS all satellites using same L band frequency, therefore it is required to process unique code from receiver to distinguish source satellite. But GLONASS satellites broadcast signals in different L band frequency, so it is not required to demodulate the signal for to distinguish source satellite.[12]

In GLONASS this L band frequency varies from 1602.56 MHz to 1615.5 MHz for L1 and 1246.43 MHz to 1256.5 MHZ for L2. For each k satellite it differentiates from other 0.5625 MHz for L1, and changes 0.4375 MHz for L2. But for GPS L1 signal is 1575.42 MHz for all satellite unit, L2 signal is 1227.60 MHz for all satellite unit.[13]

Table 1 - Characteristics of GLONASS and GPS[14]

illustration not visible in this excerpt

As it is mentioned in earlier parts, both of GLONASS and GPS, L1 signals are modulated to carry C/A code and P code. However, L2 signal is modulated to carry only P code. This structure provides separation of civilian usage between military usages. As C/A is open for everyone, P code is encrypted and is only able to be decrypted by US or Russian Federation authority.[17] In L1 band frequency P code is modulated with 5.11 MHz, and C/A is modulated with 0.511 MHz, therefore this difference of frequencies between P and C/A is devoting P as more precision, and C/A as coarse result.[18]

III. Receivers

GPS and GLONASS receivers provide and calculate atomic time, location values with Latitude, Longitude, and Altitude. In addition, they can produce speed and direction.[19] Atomic time is a time system calculated by International Atomic Time (TAI - from the French name Temps Atomique International) in various timing labarotories and Coordinated Universal Time (UTC – from the French name Universel Temps Coordonné) and scaled by atomic time. Satellite system timing is based on highly accurate cesium or rubidium atomic clock.[20] [21]

On user segment, receivers can take and calculate signals from GLONASS satellites. For different objectives there are several devices, which can process GLONASS signals. For daily usage of individuals, GLONASS receivers are integrated some popular Smartphones such as iPhone 4S, Samsung Galaxy Note Android, in addition some Smartphones produced by Motorola, Nokia, and Sony Ericsson etc.[22] [23]

Geographical coordinate system is defined with a point on the earth with latitude longitude and altitude . Latitude is angle of any point from equator according to center of globe. Longitude is angle of any point from starting meridian on the direction according to rotation of the world (west to east) according to center of the globe. Altitude is elevation from the surface of earth on the shape of geoid.[24]

Figure 1 - Latitude, Longitude, Altitude[25]

illustration not visible in this excerpt

The geoid shape on the two dimensional surface is named as ellipsoid and for the ellipsoid long axis from the center is named as , short axis is named as . According to this flatness parameter is as below:

Equation 1 - Flatness parameter [26]

Flatness of the earth is taken as 1 / 298.257223563 according to latest data of World Geodetic System (WGS84).[27]

IV. Navigation Message

Navigation message consists 1500 bit length, each one 100bit 15 substring and spreading in 50bps speed. Message string consists of the status of satellite, almanac info, satellite orbit parameters, signal delay, satellite clock correction parameters, C/A-code and P-Code.[28]

Figure 2 – C/A and P waves[29]

illustration not visible in this excerpt

Following techniques provides measurement. One of these techniques is Code Pseudo range, which is calculation of distance between satellite and receiver with signal sending time, signal receiving time and scaling this time period in light speed. This period is produced by comparison of PRN codes, which are produced by receiver and by satellite. Receiver positioning unit shifts PRN code produced by receiver until to find maximum correlation with PRN code produced by sender in other words satellite.[30] [31]

Figure 3 – Shifting process for determine (t) time[32]

illustration not visible in this excerpt

Obtained length is not absolute length due to the errors on satellite clock, atmospheric effects and multipath effects.[33] Therefore errors and other effect should be taken into consideration for a precise calculation.

Equation 2 – Receiver code measurement in t time at k point[34]

illustration not visible in this excerpt

Phase Pseudorange is in any t time differences between broadcasted phase of carrier signal from satellite and produced reference signal of receiver. Wave length of carrier signal is in millimeter level is shorter than wave length of C/A-Code and P-Code, this provides more sensibility of phase value, on the other hand in the code pseudorange the length is in meter level.[36] [37]

Equation 3 - Phases on receiver on t time [38]

illustration not visible in this excerpt

V. Errors

There are several regular and irregular errors in satellite positioning systems.

Satellite ephemeris errors are errors on satellite position data. They are related with control segment and periodically from the control segment should update the position data of satellites.[40] Control segments predict satellite location in definite periods and usually ephemeris error cause 2-5 meter inequality.[41]

Satellite clock errors are caused by lack of synchronization of satellite clocks. Like the satellite ephemeris errors, satellite clock should be updated periodically by control segment.[42] Each GPS satellite may have 8.64 nanosecond to 17.28-nanosecond clock error and this cause 2.59 meters to 5.18-meter inequality.[43]

Multipath error: Due to the environmental reasons, satellite signals may arrive to receiver from different path. It is possible that the nearest buildings, waters, or geographic formations reflect the signals. Fortunately, new receiver technologies decrease multipath error in last years.[44]

Ionosphere effect: Ionosphere is layer on atmosphere where air blocks have high electricity. Ionization is directly proportional with sunlight and midday’s ionization increases comparatively by midnights. Via the phase acceleration, ionosphere causes some errors.[45]

Tropospheric effect: Satellite signals after passing of ionosphere, it passes mesosphere, stratosphere, and troposphere. Troposphere has not any electrical load, so it causes deceleration of signals. Tropospheric effect is independent from frequency; therefore for code and phase measurement it causes the same effect. It can easily compensate with well modeling.[46]

VI. Hybrid Systems

Although GPS and GLONASS are based on receivers, they are able to work stand alone and dedicated one of these systems; for a better performance it is able to combine signals from both of systems. As it is mentioned in beginning of this chapter, some researches have proved that hybrid usage of these systems gives better results. In any t time in any point of earth visible satellites are limited because of satellite orbits and environmental reasons. Hybrid systems offer more chance to receive signals from combined satellite systems GPS and GLONASS.

Nevertheless there are some problems to combine these satellite signals. As it is mentioned before, signal structure of GPS and GLONASS are slightly different. The difference between them is the recognition of satellite identification. In GPS system all signals are decompiled with checking satellite unique code modulation. If satellite unique code is not matched with watched satellite, receivers reject the incoming signal. This is called Code Division Multiple Access (CDMA). On the other hand, GLONASS satellites are broadcasting their unique signals with its satellite specific frequency. This brings receivers an option to watch particular signal frequency for identification of satellite. In addition, GPS and GLONASS are using different coordinate systems. Therefore some conceptual and technical problems are triggered.[47]

According to Bruyninx (2007), test of usability of GLONASS parallel with GPS, it is established two networks consist International GNSS Service (IGS) observation points. After 24 hours of observation, data is processed by Bernese 5.0 academic analyze software and more than 40 daily process is completed. During this experiment 29 GPS and 13 GLONASS satellite was active, and final result of experiment in some day’s usage of GPS and GLONASS as parallel gives better results, in some day’s only GPS usage give better results.[48]

In another experiment on GLONASS and GPS system by CaHand Gao in 2007 was over Precise Point Positioning (PPP). As result of experiment, parallel usage of GLONASS and GPS affects results positively.[49]

According to the resource of Stewart in 2000, parallel usage of GPS and GLONASS gives worse result than the usage of GPS alone, as the reason of this result, being sensitiveness of GLONASS orbits is less than GPS. On the other hand, if the year of resource is considered, it is possible that the result may alter.[50]

Wang in 2007 has created a resource about GPS and GLONASS; additional GLONASS resource provides more improvement on Root Mean Square (RMS) values.[51]

C. Location Based Services (LBS) and Positioning

In order to add a semantic meaning to a fact, it is important to define this fact with following pronouns: what, where, how, why, with what and how. May be the most important one is “where”. The answer of this question is location. Dimension of “location” is the key fundamental in order to be able to process on map, as it enables the connection between dimension of real world and the map interface. Location is the foundation of the map processing elements, therefore of real world, which are “current position”, “direction”, “target position” and “error-check”. Modeling of Information Systems and Mobile Information Systems with core location data provides generation of Location Based Services (LBS). According to Ferraro R. and Aktihanoglu M., Location Based Services is summarized as the service, which is able to determine location, obtains location centric information, and provides dynamic information from information center.[52] For LBS, positioning methods are categorized as Geometric Principle of positioning, range based positioning, and proximity based positioning, but Geometric Principle of positioning is the most popular one among them.[53]

As the results of test application on Android devices Samsung Galaxy S, there are two significant problems for location-based applications. One is to get accurate location and the other one is the efficient usage of device battery.

I. Geometric Principles for Positioning

1. Trilateration

According to Location Based Services Handbook of Ahson & Mohammad (2011);

Trilateration is a method used to determine the intersection of three sphere surfaces given the centers and radii of the three spheres.” [54]

Simply, mobile object position can be found, if the distances of the mobile object from three different known transmitters and the coordinates of these three transmitters are known. Trilateration is basic geometric principle of GNSS such as GPS and GLONASS.[55]

Equation 4 - Trilateration[56]

illustration not visible in this excerpt

In figure-4 x and y are unknown receiver coordinate. Three transmitter coordinates are well known. Distance between receiver and three transmitters are .

In the example, for Cartesian coordinate system, z-axis is ignored to simplify, thus two-dimensional Trilateration can be proved. In location-based system z-axis indicates Altitude, in this example only latitude is proved, longitude trilateration. Calculation with altitude is disregarded.


[1] Samama (2008) p.23-26

[2] Gleason (2009) p.1

[3] McNamara (2008) p.54

[4] Hoffmann-Wellenhof (2008) p.6

[5] Samama (2008) p.134-139

[6] Hoffmann-Wellenhof (2008) p.7

[7] Samama (2008) p.132-134

[8] Hoffmann-Wellenhof (2008) p.7

[9] Uzel p.58

[10] Kleusberg (1990) p.2

[11] Uzel (2007) p.56-58

[12] Kleusberg (1990) p.3

[13] Uzel (2007) p.56-58

[14] Uzel (2007) p.58

[15] Hoffmann-Wellenhof (2008) p.329

[16] Hoffmann-Wellenhof (2008) p.357

[17] Aydin (2010) p.24-31

[18] Uzel (2007) p.56

[19] McNamara (2008) p.58

[20] El-Rabbany (2002) p.19

[21] Kaplan & Hegarty (2006) p.53 and p.61

[22] Apple Official (2012)

[23] Samsung Official (2012)

[24] Samama (2008) Global Positioning p.238

[25] Samama (2008) Global Positioning p.238

[26] Samama (2008) Global Positioning p.238

[27] Harper (2010) p.20

[28] Hoffmann-Wellenhof (2008) p.337

[29] Alcay (2010) p.6,7

[30] Alcay (2010) p.8,9

[31] Hoffmann-Wellenhof (2008) p.8-13

[32] Alcay (2010) p.9

[33] Arslanoglu (2002) p.56

[34] Alcay (2010) p.9

[35] Alcay (2010) p.9

[36] Alcay (2010) p.10

[37] Hoffmann-Wellenhof (2008) p.11

[38] Alcay (2010) p.10

[39] Alcay (2010) p.10

[40] Alcay (2010) p.14

[41] Rabbany (2002) p.29

[42] Alcay (2010) p.14

[43] Rabbany (2002) p.31

[44] Rabbany (2002) p.32-34

[45] Samama, (2008). p.190

[46] Samama, (2008). p.191

[47] Kleusberg (1990) p.3

[48] Bruyninx (2007) p.97-106

[49] Cai (2007) p.13-22

[50] Steawart (2000) p.877-880

[51] Wang (2007) 5-7 November CD-ROM paper 59

[52] Ferraro, R., & Aktihanoglu, M. (2011) P. 4-5

[53] Ahson & Ilyas (2011) P.5

[54] Ahson & Ilyas (2011) P.6

[55] Cristl (2008) P.20

[56] Ahson & Ilyas (2011) P.6

Excerpt out of 73 pages


Design and Implementation of Object Oriented Location Aware Application for Android Mobile Devices and Web Service Integration
University of Applied Sciences Fulda
Design and Implementation of Object Oriented Location Aware Application for Android Mobile Devices and Web Service Integration
Catalog Number
ISBN (eBook)
ISBN (Book)
File size
1309 KB
Keywords: Global Navigation Satellite Systems (GNNS), Global Positioning System (GPS), Global Navigation Satellite System (GLONASS), Globalnaya Navigatsionnaya Sputnikovaya Sistema, Galileo, Location Based Systems (LBS), Satellite Positioning, Satellite systems, Cell ID, Wireless positioning systems, Radio Frequency Identification (RFID) Positioning, Indoor Location detection, Mapping APIs, Mobile Platforms, Privacy and security on LBS, Android, intent receiver, Linux kernel, Android runtime, Dalvik Virtual Machine (DVM), Location Manager, Map Activity, GeoPoint, Map Overlay, RESTFull, JSON.
design, implementation, object, oriented, location, aware, application, android, mobile, devices, service, integration
Quote paper
M. Sc. Emrah Dayioglu (Author), 2012, Design and Implementation of Object Oriented Location Aware Application for Android Mobile Devices and Web Service Integration, Munich, GRIN Verlag,


  • No comments yet.
Look inside the ebook
Title: Design and Implementation of Object Oriented Location Aware Application for Android Mobile Devices and Web Service Integration

Upload papers

Your term paper / thesis:

- Publication as eBook and book
- High royalties for the sales
- Completely free - with ISBN
- It only takes five minutes
- Every paper finds readers

Publish now - it's free