How to build a fully offline app

1. Define app functionalities

Before you start building your , you need to define the functionalities you want to offer in your app. Your specific use case will determine the most suitable mobile data source for your application. Some questions to get you started are:

  • Will you be working with preconfigured 3D scenes or 2D maps?
  • Will you be editing data offline and synchronizing offline edits?
  • Will you be geocoding, routing, or finding an address using a locator file?

Once you have outlined the requirements of your fully offline app, you can begin to prepare a mobile data source.

2. Prepare a mobile data source

To start building a fully offline app, you first select a mobile data source as the foundation for your app. You can author an project containing scenes or maps and export it as a (.mmpk) or (.mspk) to use in your offline app. Alternatively, you can generate or download containing geospatial features to incorporate as a on your or . Some types of supported data files by include , , , and .

Use the following table to help select your .

Mobile packagesData files
2D maps1
3D scenes2
Edit data while offline3
Synchronize offline edits4
Fully disconnected apps/devices
Offline geocoding5
Offline routing6
Offline analysis
Set expiration date for data access
Full supportPartial supportNo support
  • 1. Map constructed in code
  • 2. Scene constructed in code
  • 3. Shapefiles, GeoPackages, and KML
  • 4. Custom sideloading workflows required
  • 5. Locator exported from ArcGIS Pro
  • 6. Network Analysis dataset exported from ArcGIS Pro

Once you select a mobile data source, the general steps to prepare the mobile data source are:

  1. Go to .
  2. Start a new Map project if you are working with 2D maps. Or select a Global Scene or Local Scene project if you are working with 3D scenes.
  3. Set a basemap and add data into the project.
  4. Export the project into a mobile map package (.mmpk) or mobile scene package (.mspk).

3. Build the app

Once you have prepared a , you are ready to build an offline application. Use the to create a fully offline app that runs on your preferred platform.

Example code to access data from a mobile data source in an offline app:

ArcGIS Maps SDK for .NETArcGIS Maps SDK for .NETArcGIS Maps SDK for KotlinArcGIS Maps SDK for SwiftArcGIS Maps SDK for JavaArcGIS Maps SDK for Qt
1
2
3
4
5
6
7
8
9
10
try
{
    var mobileMapPackage = await MobileMapPackage.OpenAsync(path: "path\\to\\file.mmpk");
    await mobileMapPackage.LoadAsync();
    MainMapView.Map = mobileMapPackage.Maps.First();
}
catch(Exception ex)
{
    // Handle error.
}

Tutorials

Create a mobile map package

Use ArcGIS Pro to create a mobile map package.


Workflows

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.

You can no longer sign into this site. Go to your ArcGIS portal or the ArcGIS Location Platform dashboard to perform management tasks.

Your ArcGIS portal

Create, manage, and access API keys and OAuth 2.0 developer credentials, hosted layers, and data services.

Your ArcGIS Location Platform dashboard

Manage billing, monitor service usage, and access additional resources.

Learn more about these changes in the What's new in Esri Developers June 2024 blog post.

Close