Skip to content

Add Android turn-by-turn navigation tutorial app - #26

Open
esoekianto wants to merge 2 commits into
mainfrom
es/android-navigation
Open

Add Android turn-by-turn navigation tutorial app#26
esoekianto wants to merge 2 commits into
mainfrom
es/android-navigation

Conversation

@esoekianto

@esoekianto esoekianto commented Aug 19, 2026

Copy link
Copy Markdown

Summary

Adds the source for the android-navigation tutorial — a Kotlin + Jetpack Compose app
using Mapbox Navigation SDK v2's drop-in NavigationView, mirroring the ios-navigation
tutorial's flow: pick a destination from a list → calculate a route → present full-screen,
voice-guided turn-by-turn navigation.

Note: Navigation SDK v3 for Android does not yet ship a drop-in turn-by-turn UI (confirmed
against both Mapbox's v3 migration guide and the actual SDK artifacts), so this tutorial
uses the stable v2 ui-dropin-ndk27 package instead, matching the level of integration
effort the iOS tutorial has with NavigationViewController.

Test plan

  • ./gradlew :app:assembleDebug builds cleanly
  • Ran on a Pixel 10 Pro emulator (API 36/37) with a mock location near Union Square, NYC
  • Destination list screen renders all three destinations; tapping one prompts for location permission on first launch
  • After granting permission, tapping a destination fetches the current location, calculates a route, and logs the distance to Logcat
  • Full-screen navigation view renders correctly: map, maneuver banner, speed limit, etc
  • Simulated route replay advances realistically along the calculated route

To test locally

Reviewers will need their own Mapbox tokens:

  • A secret token (Downloads:Read scope) in ~/.gradle/gradle.properties as MAPBOX_DOWNLOADS_TOKEN
  • A public token in app/src/main/res/values/mapbox_access_token.xml

Kotlin + Jetpack Compose app using Mapbox Navigation SDK v2's
drop-in NavigationView, mirroring the ios-navigation tutorial's
destination list -> route calculation -> full-screen turn-by-turn
guidance flow.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@esoekianto
esoekianto requested a review from a team as a code owner August 19, 2026 23:33
Matches the convention used by the other Android tutorials in this
repo: readers create app/src/main/res/values/mapbox_access_token.xml
locally (already gitignored repo-wide) instead of going through
local.properties + a Gradle resValue.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant