41
Developing Apps with the ArcGIS Runtime SDK for Android Ben Ramseth Esri Inc. Instructor Technical Lead

Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

  • Upload
    others

  • View
    23

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Developing Apps with the ArcGIS

Runtime SDK for AndroidBen Ramseth – Esri Inc.

Instructor Technical Lead

Page 2: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Instructor Technical Lead

Esri – Inc USA, Charlotte, NC

[email protected]

@EsriMapNinja

https://github.com/BennyBaruba/

Ben Ramseth

Page 3: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

I’m here to help you get

started with the ArcGIS

Runtime SDK for AndroidSo let’s get started…

Page 4: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Your Android application building blocks to access the ArcGIS platform.

So what is the ArcGIS Runtime SDK for

Android?

Page 5: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Runtime

platforms

QT

OS X

Windows Store

JavaSE

WindowsMobile

iOS

Android

Windows Phone

Mobile

Desktop

Embedded

.NET

DesktopClient

Page 6: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Creating a hello world mapping app with my data

Android Studio Demo…

Starting simple

Page 7: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Glad you asked…

So how do I get started with

the ArcGIS Runtime for

Android

Page 8: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Download the IDE and Android SDK together

• Android studio is now the offical IDE for Android development

- Built on IntelliJ IDEA Community Edition, the popular Java IDE by JetBrains.

- Code templates and GitHub integration

- Flexible Gradle-based build system

• Esri fully supports it

• You can still use Eclipse, however all the Esri documentation points to Android

Studio

http://developer.android.com/sdk/index.html

Page 9: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Download the ArcGIS Runtime SDK for Android

https://developers.arcgis.com/android/

Page 10: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Getting familiar with the IDE and Project

Android Studio Demo…

Android Project Structure

Page 11: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

I’ll show you…

So what resources are available

from Esri to help me build apps?

Page 12: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Online documentation at developers.arcgis.com

https://developers.arcgis.com/andr

oid/

Page 13: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

You bet we do…samples, samples and more samples.

Does Esri have resources on

Github?

Page 14: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Esri on Github

https://github.com/Esri/arcgis-runtime-samples-

android

Page 15: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

More helpful resources on Github

Maps-app Template:

https://github.com/Esri/maps-app-android

Android Quick Start Sample:

https://github.com/esri/quickstart-map-android

Android GPS Test Tool:

https://github.com/Esri/android-gps-test-tool

Page 16: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

All the code…right where you need it.

Android Studio Demo…

Let’s take a look at those

samples

Page 17: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Ok, let me tell you what’s possible…

I want to know more about

the functionality available in

the SDK’s

Page 18: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

SDK Features

• Integrates with Android Studio

• Native ArcGIS Runtime client

• Maps (online/offline)

• Editing

• Routing

• Data collection

• Geoprocessing

• And much more!

Page 19: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Adding layers to your map

• Web Maps

• Tiled Map Service

• Dynamic Maps Service

• Feature Layer

• Graphics Layer

• Image Layer

• Offline Tiles

• WMS

• KML

• Open Street Map

Page 20: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Performing Analysis

• Using Tasks

• Query / Find / Identify

- Search for features In the map

• Geoprocessing

- Spatial analysis using GP tools and models

• Locator

- Geocode and reverse geocode addresses

- ArcGIS World Geocoder (POI, Global Find, etc.)

Page 21: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Performing Analysis

• Using Tasks

• Geometry Service

- Perform geometry operations on the server

• Routing Task

- Point-to-point and multipoint driving directions

- Barriers, Time Windows, Best Sequence

• Closest Facility Task

- Find nearest facility

• Service Area Task

- Compute drive times and service areas

Page 22: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Task Pattern

1. Create & Connect.

2. Set up parameters. Send.

3. Get Results.

Page 23: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Performing Analysis

• Native

• Geometry Engine

- High-performance engine for performing geometric

operations on the device

- Buffer

- Union

- Cut

- Project

- Geodesic

- Spatial relationships

- etc.

Page 24: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Visualizing Results

• Graphics

- Geometry

- Attributes

- Symbol

• Symbols

- Picture, Marker, Line, Fill

- Composite

- Text

Page 25: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

No connection needed…

Offline API

Page 26: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Adding data to the ArcGIS cloud

Publish Hosted Services using

ArcGIS OnlineDiscover and

update maps on

Devices

Spatial Data In

Define Client Feature

Editing Model on item

Create and Share Web

Maps in ArcGIS Online

Edits

CSV

SHP

Export Spatial Data Out

ArcGIS

KML

GPX

CSV

SHP

Page 27: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Offline Map Capabilities Disconnected Use of the ArcGIS Platform

• Viewing and Interacting with Maps

• Querying Data

• Editing Features

- Synchronization

• Spatial Intelligence

- Find places and locations

- Get directions

• Pre-planned or On-demand Workflows

• Occasionally Connected Scenarios

• All Runtime SDKs*

Page 28: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

From ArcGIS Online or ArcGIS Server

Author

Map

Prepare

View

Query

Analyze

Edit

Synchronize

Download

*You can also use GP tools in ArcGIS Desktop for a manual

sync process

Page 29: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

How Does Sync Work?The Flow of Data

Generate

geodatabase

enabled for sync

Feature

service

with sync

enabled

Adds, edits, deletes

Generate delta

geodatabase

Upload delta

Apply response to

geodatabase

Page 30: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Making it happen…

Runtime Licensing

Page 31: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Runtime Licensing

Page 32: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

License levels and functionality

License Level Available functionality

Developer (development and testing only) All functionality(watermarks and debug messages will be generated, nag

screens with local server*)

Basic Connected - all functionality

Offline - map viewing only

Standard Connected and offline - all functionality, includes:

• Local locators (geocoding)

• Local routing

• Local geodatabase editing

• Local geodatabase sync operations

• Local server*

* For those SDKs that support it

Page 33: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

How to license your app at the basic level

• http://developers.arcgis.com

• Under Application section, create a

New Application (or select existing)

• Click on Runtime SDK Licensing

• Copy the Client ID and use it to set

your clientID

Page 34: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

How to license your app at the standard level

• You have 2 options:

1. Use an organization account (ArcGIS Online or Portal for ArcGIS)

- Requires users of your app to log in with their account

1. Use a license string obtained from Customer Service or your international

distributor

- License burnt into the app

- Extensions can also be added with this option

For more info speak to sales or product management

Page 35: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

…go try it for yourself.

Now that I have provided you

an overview of the ArcGIS

Runtime for SDK Android…

Page 36: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

What other options does Esri have for you?

…or let’s say you are not a

Android developer.

Page 37: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Other options to create mapping applications for android

• Build a responsive web app to work great on Android devices

- Web App Builder for ArcGIS

- Use to configure a web app without writing code or write code to build custom widgets

- https://developers.arcgis.com/web-appbuilder/

- ArcGIS API for Javascript

- Build a custom web app

- https://developers.arcgis.com/javascript/

• Build a hybrid mobile app

- App Studio for ArcGIS

- Use web dev skills and then deploy to native Android code

- Check out the beta: https://betacommunity.esri.com/

- Esri and Xamarin

- For .NET developers…write C# code in Visual Studio…deploy to native Android

- Coming in 2015: http://blogs.esri.com/esri/arcgis/2014/12/03/arcgis-runtime-and-xamarin-part-2/

Page 38: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ

Instructor Technical Lead

Esri – Inc USA, Charlotte, NC

[email protected]

@EsriMapNinja

https://github.com/BennyBaruba/

Ben Ramseth

Thanks…Let’s have some questions

Page 39: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ
Page 40: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ
Page 41: Developing Apps with ArcGIS Runtime SDK for Android · Download the IDE and Android SDK together •Android studio is now the offical IDE for Android development-Built on IntelliJ