There are a number of ways to get started to develop with ArcGIS Maps SDK for Kotlin. If you are new, follow the steps below to get started with Kotlin and Android Studio.

1. Sign up for an account

To use ArcGIS Maps SDK for Kotlin to access content Content is a collection of items in a portal that belong to a user, group, or organization. Learn more , services A service, also known as an ArcGIS service, is software that supports an ArcGIS REST API and provides geospatial functionality or data. A service can be hosted by Esri or in ArcGIS Enterprise. Learn more , or an organization, you need an ArcGIS Location Platform account An ArcGIS Location Platform account, formerly known as an ArcGIS Developer account, is an identity associated with an ArcGIS Location Platform subscription. Learn more , ArcGIS Online account An ArcGIS Online account, also known as an ArcGIS Organization account, is an identity associated with an ArcGIS Online subscription. It can be used to access ArcGIS tools and develop applications with ArcGIS location services for an organization. Learn more , or ArcGIS Enterprise account An ArcGIS Enterprise account is an identity for an instance of ArcGIS Enterprise. It can be used to access ArcGIS Enterprise tools, applications, and services, and to develop applications. Learn more . The type of account, user type, and role you need depends on the resource you need to access and the operations you wish to undertake.

If you do not have an account, select one of the options below:

Get a free account for ArcGIS Location Platform

Get an account for ArcGIS Online



2. Get the SDK and dependencies

To use the ArcGIS Maps SDK for Kotlin, install Android Studio, install the JDK used by Gradle, and get the ArcGIS Maps SDK for Kotlin and its dependencies.

Install an Android IDE with Gradle integrated.

The official IDE for Android app development is Android Studio, which can be installed as follows.

  1. Check the Android Studio system requirements for your operating system, architecture, and version.

  2. Download Android Studio.

    You should install the latest stable version of Android Studio.

  3. Run the installation file, following instructions in the Android Studio Setup wizard.

Install the JDK used by Gradle

Installing Android Studio automatically installs an embedded version of the JDK, normally in a subdirectory named jbr. Gradle, however, uses its own JVM when starting the Gradle daemon. If these two versions of the JVM are not the same, Gradle may spawn extra deamons, which can slow down builds.

You should manually set the JDK that Gradle uses and make sure the embedded JDK and the Gradle JDK are the same version.

  1. On the file system of your development machine, go to the jbr directory underneath the Android Studio installation. Open the release file and find the value of the JAVA_VERSION environment variable.

    That is the embedded JDK that Android Studio is using.

  2. In Android Studio, select File > Settings (Windows) or Android Studio > Settings (macOS).

  3. In the Settings dialog, click Build, Execution, Deployment > Build Tools > Gradle.

  4. In the Gradle JDK field, select one of the JDKs from the drop-down menu. Make sure that the JDK you select has the same version as the embedded JDK.

Get the ArcGIS Maps SDK for Kotlin and dependencies

Follow all instructions on the Install and set up page. Note that you do not need to manually download the ArcGIS Maps SDK for Kotlin API. Once the Gradle files are properly configured, the Gradle build system will download the API and the versions of the dependencies you specify.

If you are developing ArcGIS Maps SDK for Kotlin applications in an environment that is disconnected from the internet, first obtain the API from the downloads page. Then follow the download’s README, which provides instructions for the disconnected workflow.

3. Implement authentication

To access secure ArcGIS services and resources, you need to implement authentication. The easiest way to get started is to obtain an access token An access token is an authorization string that provides access to secure ArcGIS content, data, and services. Its capabilities are determined by the privileges it supports. It is obtained by implementing API key authentication, User authentication, or App authentication. Learn more from an API Key An API key is a long-lived access token created using API key credentials. They are valid for up to one year and are typically embedded directly into client applications. Learn more and implement API key authentication API key authentication is a type of authentication that uses an API key to authenticate requests to ArcGIS services and secure portal items. Learn more . If you want to build an app that requires users to sign in with their ArcGIS account, implement user authentication User authentication is a type of authentication that allows users with an ArcGIS account to sign into an application and allow it to access ArcGIS content, services, and resources on their behalf. The typical authorization protocol used is OAuth2.0. Learn more .

API key authentication

User authentication

4. Create your first mapping application

Follow the step-by-step instructions in the Display a map tutorial to create your first mapping application. The following code shows how you can create and display a map.

20 collapsed lines
@file:OptIn(ExperimentalMaterial3Api::class)
package com.example.app.screens
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import com.arcgismaps.mapping.ArcGISMap
import com.arcgismaps.mapping.BasemapStyle
import com.arcgismaps.mapping.Viewpoint
import com.arcgismaps.toolkit.geoviewcompose.MapView
import com.example.app.R
@Composable
fun MainScreen() {
val map = remember {
createMap()
}
Scaffold(
topBar = { TopAppBar(title = { Text(text = stringResource(id = R.string.app_name)) }) }
) {
MapView(
modifier = Modifier.fillMaxSize().padding(it),
arcGISMap = map
)
}
}
fun createMap(): ArcGISMap {
return ArcGISMap(BasemapStyle.ArcGISTopographic).apply {
initialViewpoint = Viewpoint(
latitude = 34.0270,
longitude = -118.8050,
scale = 72000.0
)
}
}

Once you are done building your application, make sure to license it before deploying to production. For more information, see License and deployment topic for details.

5. Follow the tutorials

Go to the tutorials to create and run applications to perform different operations.

6. Explore the samples

Go to the samples to learn how to perform more tasks with the API.