Skip to content

Esri/arcgis-maps-sdk-kotlin-samples

Repository files navigation

ArcGIS Maps SDK Kotlin Samples

Link: ArcGIS Developers home Link: Documentation Link: Tutorials Badge: Samples Link: Toolkit Link: Esri Community

Get it on Google Play

Overview

ArcGIS Maps SDK for Kotlin v200.6.0 samples. The main branch of this repository contains sample app modules for the latest available version of the ArcGIS Maps Kotlin SDK. Samples released under older versions can be found through the git tags. Please read our wiki for help with working with this repository.

Prerequisites

Developer Instructions

Please read our developer instructions wiki page to set up your developer environment with Android Studio. Instructions include forking and cloning the repository for those new to Git.

Once the project is cloned to disk you can import into Android Studio:

  • From the Welcome to Android Studio screen, click the Open button. (If you're already inside a project, click File > Open in the menu bar instead.)
  • Navigate to the arcgis-maps-sdk-kotlin-samples/ folder and click OK.

Accessing Esri location services

Accessing Esri location services, including basemaps, routing, and geocoding, requires authentication using either an API Key or an ArcGIS identity:

API key

A long-lived access token that gives your application access to ArcGIS location services. Go to the Create an API key tutorial to obtain a new API key access token. Ensure that the following privileges are enabled:

  • Location services > Basemaps
  • Location services > Geocoding
  • Location services > Routing

The Kotlin samples in this repository have been structured to use an access token, set once, which will run in all samples. Set your access token in the local.properties in the same folder as the secrets.defaults.properties. The ACCESS_TOKEN property should contain quotes around the key itself:

ACCESS_TOKEN=YOUR_ACCESS_TOKEN

ArcGIS identity

An ArcGIS named user account that is a member of an organization in ArcGIS Online or ArcGIS Enterprise.

Run a sample

Once you have set up your developer environment you can run any sample from within Android Studio by selecting the app module from the Edit Configurations drop down and clicking the Run button from the toolbar.

Build/Run sample from Gradle

You can execute all the build tasks using the Gradle Wrapper command line tool. It's available as a batch file for Windows (gradlew.bat) and a shell script for Linux/Mac (gradlew.sh) and it is accessible from the root of the project.

  • Build a debug APK
$ ./gradlew assembleDebug
  • Install the app on the device
adb -d install path/to/sample.apk

Built APK's are saved to arcgis-maps-sdk-kotlin-samples/app/build/outputs/. More information about running apps on devices can be found here.

Issues

Have a question about functionality in the ArcGIS Maps SDK Kotlin Samples? Want to ask other users for development advice, discuss a workflow, ask Esri staff and other users about bugs in the API? Use GeoNet for any general questions like this, so others can learn from and contribute to the discussion.

Do you have something to contribute? Send a pull request! New Samples, bug fixes and documentation fixes are welcome.

Have a problem running one of the samples in this repo? Does the sample not work on a specific device? Have questions about how the code in this repo is working? Want to request a specific sample? In that case, submit a new issue.

Contributing

Anyone and everyone is welcome to contribute. We do accept pull requests.

  1. Get Involved
  2. Report Issues
  3. Contribute Code
  4. Improve Documentation

Please see our guidelines for contributing doc

Third-Party Libraries

This project uses the following third-party libraries:

  • Showdown

    • License: MIT License
    • Copyright: 2018, 2021
  • Highlight.js

    • License: BSD 3-Clause License
    • Copyright: 2006, Ivan Sagalaev

Licensing

Copyright 2022 Esri

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

A copy of the license is available in the repository's LICENSE file