TomTom SDK for Android

TomTom's Android SDKs help you bring map visualization, location handling, and driver guidance to your Android application with minimal effort.

The Navigation SDK issues visual and audio turn-by-turn instructions at the right moments, and smartly handles events like deviations and traffic jams in the route ahead.

It is also highly customizable, letting customers redefine various aspects of the guidance logic.

See this Guide for how to get started quickly.

All modules:

Link copied to clipboard

The quantity module provides a set of classes used for representing physical quantities.

Link copied to clipboard

The annotations module provides a set of annotations used inside the SDK.

Link copied to clipboard

The common Android module provides a set of common classes and interfaces used across the SDK related to the Android SDK.

Link copied to clipboard

The common core module provides a set of common classes and interfaces used across the SDK.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

The Data Store Maintenance Engine Default module provides functionality to keep the navigation system's data store up-to-date.

The Data Store Selection Engine Default module enables the navigation system to intelligently switch between online and offline map data sources, optimizing the navigation experience based on network conditions and data availability. The module provides functionality for selecting the appropriate map data store for the hybrid navigation profile.

This is a library to handle inaccurate locations provided by a location service. Using the raw location to update the current user’s position can lead to a position indicator that is unaligned with the Route. To solve this inaccuracy problem, Map Matching Engine produces accurate (map-matched) locations.

Link copied to clipboard

The Navigation module provides a robust set of tools for managing navigation tasks. This module contains the primary interface, com.tomtom.sdk.navigation.TomTomNavigation, which facilitates the control and customization of navigation sessions. Key functionalities include:

The navigation-engines module provides a collection of engines that are logical building blocks of navigation, such as arrival detection, data store maintenance, guidance generation, and more. The navigation module depends on engines to orchestrate a pipeline after each location update. On each processing pipeline the snapshot of engines is taken and those engines are used during different parts of the navigation flow.

The navigation-hybrid module provides specialized configurations and factory to set up and customize com.tomtom.sdk.navigation.TomTomNavigation for hybrid navigation mode. This module allows for both basic and advanced configurations, enabling developers to tailor the navigation experience to suit various use cases.

The navigation-offline module provides specialized configurations and factory to set up and customize com.tomtom.sdk.navigation.TomTomNavigation for offline navigation mode. This module allows for both basic and advanced configurations, enabling developers to tailor the navigation experience to suit various use cases.

Off-road navigation is designed for areas without roads, such as rural or wilderness areas or where traditional road navigation systems are inaccurate. The navigation-offroad module provides specialized configurations and factory to set up and customize com.tomtom.sdk.navigation.TomTomNavigation for offroad navigation mode. This module allows for both basic and advanced configurations, enabling developers to tailor the navigation experience to suit various use cases.

The navigation-online module provides specialized configurations and factory to set up and customize com.tomtom.sdk.navigation.TomTomNavigation for online navigation mode. This module allows for both basic and advanced configurations, enabling developers to tailor the navigation experience to suit various use cases.

Navigation session data is passed between different engines and pipeline iterations using com.tomtom.sdk.navigation.NavigationSnapshot.

The navigation-resume-snapshot-renewer module provides tools for preserving and resuming navigation sessions using com.tomtom.sdk.navigation.navigationresumesnapshot.NavigationResumeSnapshot The main class in this module is NavigationResumeSnapshotRenewer, which handles the saving and loading of navigation snapshots periodically or manually, ensuring the navigation state can be restored after interruptions.

The Route Replanner module provides an interface for dynamic route planning during navigation, accompanied by models describing the configuration and response. The RouteReplanner interface facilitates the updating of the current route, planning the way back to the route, and incrementally calculating route content, such as instructions and lane guidance.

The Route Replanner Hybrid module provides an implementation of the com.tomtom.sdk.navigation.routereplanner.RouteReplanner for use in hybrid navigation mode. This module:

The Route Replanner offline module provides an implementation of the com.tomtom.sdk.navigation.routereplanner.RouteReplanner for use in offline navigation mode. This module:

The Route Replanner online module provides an implementation of the com.tomtom.sdk.navigation.routereplanner.RouteReplanner for use in online navigation mode. This module:

Link copied to clipboard

The Navigation Service module provides classes for managing the lifecycle of the navigation service and communicating with the service.

Link copied to clipboard

The Navigation UI library provides a set of classes and interfaces for displaying navigation information, such as:

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

The Search Common module contains APIs that are frequently used across the Search SDK. Here you find general error handling classes, and classes that have a use-case in at least two separate Search APIs.

Link copied to clipboard

The Dynamic Data module includes four APIs that provide real-time information.

The Dynamic Data module refers to information that changes over time. Dynamic Data APIs are designed to complement the Search API by providing real-time or near real-time data updates. The implementation of the Dynamic Data API includes factories that create instances of Dynamic Data and in turn, provide information about EV charging, fuel prices, and parking details.

Link copied to clipboard

The Reverse Geocoding module contains the interface and data models for the Reverse Geocoding API. Reverse geocoding is the process of translating geographic coordinates in the form of latitude and longitude values
into a readable address or location description that can be easily understood by humans.

Hybrid implementation of the Reverse Geocoder API.

The Reverse Geocoder Offline module contains the offline implementation of the Reverse Geocoding API.

The Reverse Geocoder online module contains the online implementation of the Reverse Geocoding API.

Link copied to clipboard

The Search module encompasses the interface for the Search API, along with the models that encapsulate data relevant to its implementation.

Initializes an online Search API that offers customizable functionalities, such as the Search with Custom Points of Interest API with its create function.

Link copied to clipboard

The hybrid implementation of the Search API.

Link copied to clipboard

The offline implementation of the Search API.

Link copied to clipboard

The online implementation of the Search API.

Link copied to clipboard

The Structured Search module serves as a hierarchical address selection tool, designed to assist users in locating an address within structured address data.

Contains the package which holds the offline implementation of the Structured Search API.

Link copied to clipboard

The Search UI module offers a reference implementation which can be used to create a search UI within an application.

Link copied to clipboard
Link copied to clipboard

The Traffic Client module contains the internal implementation for the Traffic module. It also exposes methods to create a traffic client, and pass the (provider-specific) configuration. Once a traffic data provider instance is created and connected to a source of traffic, depending on the implementation, it starts receiving traffic data as offered by the provider, for example, near the current location, along the route, or for the current country/area.

Link copied to clipboard

The Traffic Model module provides the traffic event representation. Traffic events represent unusual situations on the road, like traffic congestion, accidents or road works.

Link copied to clipboard

The Traffic module is the entry point of the Traffic component, and should be used by other components to make use of the client-side traffic information. Traffic events from this module are primarily used for offline fallback route calculation and for visualizing them on the map. Traffic events from the this component can be useful to show incidents after a longer period without connectivity, or in a non-connected use case.

Link copied to clipboard
Link copied to clipboard

The vehicle-provider module includes a set of classes and interfaces that allow you to represent, control, access, and listen to changes in the vehicle data.

Link copied to clipboard
Link copied to clipboard

The Text-to-Speech (TTS) module is a library designed to simplify the conversion of text into speech.

Link copied to clipboard

This module provides an implementation of the TextToSpeechEngine interface for the Android platform.

Link copied to clipboard

This module provides the interfaces and models used for the Text-to-Speech (TTS) functionality.