Tutorials and Examples
This is a list of tutorials and how-to guides on topics that you may come across while developing for the TomTom Digital Cockpit platform. Each one explains step-by-step how you can extend TomTom Digital Cockpit.
Example applications
The example applications are provided as sample implementations. The applications allow you to
verify your build environment by building this TomTom Digital Cockpit example
APK and install it on an emulator. The applications also contain several examples on how to add
functionality to your product. All the examples can be found under the
examples/
directory.
Under the
template/
directory you can find the template application. This contains just the default
TomTom Digital Cockpit platform functionality, which may be used as a starting point for your own
product.
Check out the functionality of the TomTom Digital Cockpit platform in the walk-through of an example application, or operate it yourself by following our Develop with the SDK guide.
Additional functionality is described in the tutorials and how-to guides below.
Setup
-
Integrate TomTom Digital Cockpit into a Gradle project - This guide explains how to add TomTom Digital Cockpit to a new or already existing Gradle project.
-
Configure an App Store - This guide explains how to add an App Store, to offer end-users of your system the ability to expand their system by installing additional apps.
Basics
-
Create a frontend plugin - This guide explains how to add a frontend with panels, how to link your frontend to a
Fragment
, and how to make a menu item for it. -
Create an IVI service - This guide explains how to define the interface of your service, how to implement and deploy it, and how to use it from the client side.
-
Use an IVI Data Source - This guide explains how to use
IviDataSource
to handle some IVI service properties. -
The debug menu - This guide explains what the debug menu is and how to use it.
-
Configure debug tabs - This guide explains how to create a new tab for the debug menu, and how to customize the existing tabs.
-
Upgrade to a newer version of Digital Cockpit - This guide explains how to upgrade the Digital Cockpit version you are using in your application.
Notifications
- Create a notification panel - This guide explains how to create and show a notification panel.
Main Process Panel
- Create a main process panel - This guide explains how to create and show a main process panel.
Media
-
Create a new media user interface - This guide explains how to add a single-panel user interface for a radio source.
-
Customize a media source - This guide explains how to add a new media source that will automatically show up as an additional choice in the media panel.
-
Configure the media plugins - This guide explains how to change the media plugin configuration.
-
Customize media plugin fragments - This guide explains how to replace the look and feel of existing media fragments.
Communications
-
Create a custom connection service - This guide explains how to add a new connection service to make phone calls via TomTom Digital Cockpit, like Voice Over IP (VOIP).
-
Create a custom contacts service - This guide explains how to add a contacts service that provides information that TomTom Digital Cockpit can display in the contacts panel.
-
Create a custom recent calls service - This guide explains how to add a recent calls service that provides information that TomTom Digital Cockpit can display in the recent calls panel.
-
Configure the Communications Plugin - This guide explains how to configure the behavior of the off-the-shelf communications plugin.
-
How to use the Communications Plugin Settings - This guide explains how to configure the
MessagingAppSettingsService
for custom quick replies handling. -
Customize the Communications Frontend - This guide explains how to customize the stock Communications
Frontend
.
App Launcher
-
Create a custom app launcher service - This guide explains how to add a custom App launcher service that can be used to extend or override the TomTom Digital Cockpit platform App launcher implementation.
-
Add support for a custom non-Android app type - This guide explains how to display and launch custom non-Android app types from the app launcher.
-
Replace the stock Android app support - This guide explains how to configure the stock Android apps that are being shown in the app launcher.
-
Add support for Web App launch trigger - This guide explains how to add the support for triggering the launch of a web app from an external source.
Voice Personal Assistant (VPA)
-
Create a Custom VPA Adaptation Service - This guide explains how to add a custom VPA Adaptation service to support a 3rd party VPA.
-
Create a Custom Alexa Handler Service - This guide explains how to add a custom Alexa handler service that can be used to extend the set of stock Alexa platform message handlers offered by the TomTom Digital Cockpit platform.
-
Customize the Alexa Car Control Feature - This guide explains how to customize or replace the stock Alexa Car Control handler service offered by the TomTom Digital Cockpit platform.
-
Implement Alexa Preview Mode - This guide explains how to implement Alexa Preview Mode, a feature that allows access to a limited set of Alexa features without requiring a login with an Amazon account.
Customization
-
Use the configuration framework - This guide explains how to create static and dynamic configurations by using the configuration generator, and how to use these to customize the application.
-
Custom Splash Screen - This guide explains how to create a custom splash screen.
-
Custom Animations - This guide explains how to create custom animations for sub-container transitions in the system UI.
-
Custom fragments This guide explains how to adjust the look and behavior of a panel by customizing its initial fragment. A system UI host can create custom fragment rules that replace the normal fragment of a panel with a custom fragment.
-
Custom Frontend Coordination Rule - This guide explains how to create a custom frontend coordination rule, and how to use it in a custom system UI host.
-
Custom Panel Type - This guide explains how to create a custom panel type to visualize custom information in the system UI.
-
Custom Panel Container - This guide explains how to create a custom panel container to control the behavior of panels in the system UI.
-
Custom Sub-container Layout This guide explains how to use a custom sub-container layout with a default panel container.
Localization
-
Localize strings - This guide explains how to localize strings, how to discover string resources used in your application, and how to get additional context information per string resource to facilitate translations.
-
Change Localization Settings - This guide explains how to use the TomTom Digital Cockpit Localization Settings API to allow the user to choose their preferred localization settings. For example, it is possible to change the language in the Android system in order for it to be reflected in the cockpit app as well as in all third-party apps or to choose between displaying the time in a 12-hour or 24-hour format.
Deployment
- Configure the runtime deployment of the IVI System - This guide explains how to run services in a separate process, configure multiple TomTom Digital Cockpit instances, and how to deploy Android services in the same process as an IVI service.