arcgis runtime sdk for android: hit the ground running

51
Hit the Ground Running ArcGIS Runtime SDK for Android

Upload: hoanganh

Post on 30-Dec-2016

239 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: ArcGIS Runtime SDK for Android: Hit the Ground Running

Hit the Ground RunningArcGIS Runtime SDK for Android

Page 2: ArcGIS Runtime SDK for Android: Hit the Ground Running

Dan O’Neill - @jdoneillXueming Wu

Presenters

Page 3: ArcGIS Runtime SDK for Android: Hit the Ground Running

Agenda◆ Introduction to the Android SDK◆ Maps & Layers◆ Analysis & Display Information◆ Place Search◆ Offline Patterns◆ What’s coming ...

Page 4: ArcGIS Runtime SDK for Android: Hit the Ground Running

Dan O’NeillAndroid SDK Intro

Page 5: ArcGIS Runtime SDK for Android: Hit the Ground Running
Page 6: ArcGIS Runtime SDK for Android: Hit the Ground Running

ArcGIS Runtime

Page 7: ArcGIS Runtime SDK for Android: Hit the Ground Running

Introduction to the Android SDK - Dependencies

• Java Development Kit (JDK) 7+• Android API 15 +• Android Studio

- Mac OS - run Android Studio with Java Runtime Environment (JRE) 6- Configure project to use JDK 7+

Optional➔ Manage SDK locally in Eclipse/NetBeans

Page 8: ArcGIS Runtime SDK for Android: Hit the Ground Running

Introduction to the Android SDK - Features

• SDK distributed through public maven repository- http://dl.bintray.com/esri/arcgis

• Direct support for Android Studio & Gradle project structure• Samples Open Sourced through GitHub

- https://github.com/Esri/arcgis-runtime-samples-android• Documentation available through developers site

- http://developers.arcgis.com/android

Support for using 10.2.5 in Eclipse and Android Studiohttps://github.com/Esri/gradle-eclipse-studio-android

Page 9: ArcGIS Runtime SDK for Android: Hit the Ground Running

Introduction to the Android SDK - Gradle Dependency

• Define the repository in the project Root build.xml file

• Define the ArcGIS Android AAR in your app project build.xml file

Page 10: ArcGIS Runtime SDK for Android: Hit the Ground Running

Dan O’NeillMaps & Layers

Page 11: ArcGIS Runtime SDK for Android: Hit the Ground Running

Maps & Layers - Layer Types

• DynamicLayer• FeatureLayer• GraphicsLayer• GroupLayer• KmlLayer• RasterLayer• TiledLayer

Page 12: ArcGIS Runtime SDK for Android: Hit the Ground Running

Maps & Layers - DynamicLayer

• Abstract Base Class• Sub-classes

- ArcGISDynamicServiceLayer- ArcGISImageServiceLayer- WMSLayer

Page 13: ArcGIS Runtime SDK for Android: Hit the Ground Running

Maps & Layers - TiledLayer

• Abstract Base Class• Direct sub-classes

- ArcGISLocalTiledLayer- TiledServiceLayer

• Indirect sub-classes- ArcGISTiledMapServiceLayer- BingMapsLayer- OpenStreetMapLayer- WMTSLayer

Page 14: ArcGIS Runtime SDK for Android: Hit the Ground Running

Maps & Layers - GraphicsLayer

• Layer representing one or more Graphics- Dynamically display Graphics on a MapView- Graphics can be geometries or features

• MapView can contain one or more GraphicLayers

Page 15: ArcGIS Runtime SDK for Android: Hit the Ground Running

Maps & Layers - Simplified Basemaps

• Switch Basemaps from MapOptions.MapType• Supported types

- Gray- Hybrid- National Geographic- Oceans- Open Street Map- Satellite- Streets- Topo

Page 16: ArcGIS Runtime SDK for Android: Hit the Ground Running

Maps & Layers - Simplified Basemaps

➔ Switch layers based on selection

Page 17: ArcGIS Runtime SDK for Android: Hit the Ground Running

Xueming WuFeature Analysis

Page 18: ArcGIS Runtime SDK for Android: Hit the Ground Running

Why analyze

• Convert data into information

• Adds values

- answers questions

- more than just points on maps

• Services available in ArcGIS Online

- Builds into your apps

Page 19: ArcGIS Runtime SDK for Android: Hit the Ground Running

Feature Analysis - query features

• Query features- Retrieve features from a single layer or table in a map service

or a feature service - Query or Query Related Records operation - Performs attribute and spatial queries- Retrieves

- only IDs - attributes - actual features

Page 20: ArcGIS Runtime SDK for Android: Hit the Ground Running

Query Features - QueryTask

• General workflows:- Create a QueryTask- Create a QueryParameters or RelatedQueryParameters that define the

task- Execute the task- Retrieve the results- Handle any errors

Page 21: ArcGIS Runtime SDK for Android: Hit the Ground Running

Query Features - QueryTask

• QueryParameters or RelatedQueryParameters:- Attribute queries through setWhere()- Spatial queries through setGeometry()- Retrieve only IDs by setReturnIdsOnly()- Retrieve attributes or actual features by setReturnGeometry()- Returned features in specific spatialreference by

setOutSpatialReference()- Limit the number of features by setMaxFeatures()

Page 22: ArcGIS Runtime SDK for Android: Hit the Ground Running

Query Features - QueryTask

Page 23: ArcGIS Runtime SDK for Android: Hit the Ground Running

Feature Analysis - identify features

• Identify features- Search features intersecting with a geometry from a layer in a map

service - Retrieves

- attributes - actual features

Page 24: ArcGIS Runtime SDK for Android: Hit the Ground Running

Query Features - IdentifyTask

• General workflows:- Create a IdentifyTask- Create a IdentifyParameters that define the task- Execute the task- Retrieve the results- Handle any errors

Page 25: ArcGIS Runtime SDK for Android: Hit the Ground Running

Feature Analysis - display information

• Callout- Simplified Callout

• Popup- Simplified Popup

Page 26: ArcGIS Runtime SDK for Android: Hit the Ground Running

Display Information - Popup

• Provides UI and behaviors for displaying and editing features• Respects types/domains• Supports adding attachments• Supports editor tracking• Has hooks

- For editing geometries- For deleting geometries

• Works with developer defined as well as webmap popups• Sample In SDK

- PopupInWebmapForViewing- PopupInWebmapForEditing

• Requires Android support library to run!!!

Page 27: ArcGIS Runtime SDK for Android: Hit the Ground Running

Popup - general workflow

• Display information using pop-ups- Instantiate PopupContainer- Create a Popup and add it to the PopupContainer- Display PopupContainerView

• Handle user interaction• Edit information using pop-ups• Customize UI

Page 28: ArcGIS Runtime SDK for Android: Hit the Ground Running

Popup

Page 29: ArcGIS Runtime SDK for Android: Hit the Ground Running

Popup - simplification

Page 30: ArcGIS Runtime SDK for Android: Hit the Ground Running

Xueming WuPlace Search

Page 31: ArcGIS Runtime SDK for Android: Hit the Ground Running

Place Search - geocoding

• ArcGIS Geocoding service- Global coverage

• Locator uses this in default constructor• Find method allows for address and POI search• Point and radius parameters

- Results in radius are promoted- Sorted by distance to point- Results outside radius still returned

Page 32: ArcGIS Runtime SDK for Android: Hit the Ground Running

Place Search - geocoding

Locator.find()

Page 33: ArcGIS Runtime SDK for Android: Hit the Ground Running

Place Search - search suggestions

Locator.suggestion()

Page 34: ArcGIS Runtime SDK for Android: Hit the Ground Running

Place Search - search suggestions

Page 35: ArcGIS Runtime SDK for Android: Hit the Ground Running

Place Search - simplification

• ArcGIS Android Toolkit API• Provides GeocodeHelper class• Find address for given location• Simplifies the workflow

- No need to set parameters and get result from a Locator

Page 36: ArcGIS Runtime SDK for Android: Hit the Ground Running

Place Search - demo

https://github.com/Esri/arcgis-runtime-samples-android/tree/master/PlaceSearch

Page 37: ArcGIS Runtime SDK for Android: Hit the Ground Running

Dan O’NeillOffline Patterns

Page 38: ArcGIS Runtime SDK for Android: Hit the Ground Running

Offline Patterns - Create Offline Maps

Page 39: ArcGIS Runtime SDK for Android: Hit the Ground Running

Offline Patterns - Workflows

● Take Map Offline○ View / Basemap○ Edit○ Sync

● Perform Offline Tasks○ Routing○ Geocoding○ Query

● Create Your Own Layer○ Define layer and symbology○ Persist it to device

Page 40: ArcGIS Runtime SDK for Android: Hit the Ground Running

Offline Patterns - Basemaps

● From a Tiled Service○ TPK or Compact Cache○ Service must support exportTiles operation

● Requesting a Tile Cache parameters○ Level Of Details (LOD)○ Level ID’s supported○ Extent of the Tile Cache○ SpatialReference

Page 41: ArcGIS Runtime SDK for Android: Hit the Ground Running

Offline Patterns - Custom Layers

● Base Abstract Class – TiledServiceLayer○ Used by

■ ArcGISTiledMapServiceLayer

■ BingMapsLayer

■ OpenStreetMapLayer

● Fetch Tiles○ Implement abstract getTile() method

Page 42: ArcGIS Runtime SDK for Android: Hit the Ground Running

Offline Samples in the SDK

● Local Tile Layer● Local MBTiles● Local Raster Data● Create Local Geodatabase● Offline Editor● Offline Analysis● Export Tile Cache● Offline Routing and Geocoding● Standard License Offline

Page 43: ArcGIS Runtime SDK for Android: Hit the Ground Running

What’s coming?

ArcGIS Runtime Quartz

Numbers were not working, so we picked something solid, sharp and

Page 44: ArcGIS Runtime SDK for Android: Hit the Ground Running

Quartz

• Major release- Many new capabilities- New and changed APIs- Improved internal architecture

• Goals- Support the ArcGIS Platform- Move ArcGIS Engine developers to the ArcGIS Runtime- Synchronize APIs across all ArcGIS Runtime platforms- Support specific user workflows

Page 45: ArcGIS Runtime SDK for Android: Hit the Ground Running

Quartz beta release

Today Q2Beta

ArcGIS Runtime Release Schedule

Q42015

Quartz final release

Page 46: ArcGIS Runtime SDK for Android: Hit the Ground Running

Agenda◆ Introduction to the Android SDK◆ Maps & Layers◆ Analysis & Display Information◆ Place Search◆ Offline Patterns◆ What’s coming ...

Page 47: ArcGIS Runtime SDK for Android: Hit the Ground Running

Please Rate our Session

QUESTIONS

Thank You

Page 48: ArcGIS Runtime SDK for Android: Hit the Ground Running

Devsummit Runtime sessions

Page 49: ArcGIS Runtime SDK for Android: Hit the Ground Running

ArcGIS Runtime SDK sessions WednesdaySession Name Time Location

Building Great Android App Uis and UXs 4:00pm – 5:00pm Mojave Learning Center

Session Name Time Location

ArcGIS Runtime SDKs: Building Offline Apps, Part I

9:00 – 10:00am Primrose A

ArcGIS Runtime SDK: Building Offline Apps, Part II

10:30– 11:30am Primrose A

ArcGIS Runtime SDKs: Offline Routing and Geocoding

4:00-5:00pm Smoketree A-E

ArcGIS Runtime SDKs: Implementing 3D Capabilities

5:30 – 6:30pm Primrose C/D

Collector for ArcGIS: How we did it 5:30 – 6:30pm San Jacinto

ArcGIS Runtime SDK sessions Thursday

Page 50: ArcGIS Runtime SDK for Android: Hit the Ground Running

ArcGIS Runtime SDK sessions Friday

Session Name Time Location

The Road Ahead: ArcGIS Runtime 8:30 – 9:30am Primrose A

Everything (or Anything) You Wanted to Know about the ArcGIS Runtime SDKs

but Were Afraid to Ask

10:00 – 11:00am Primrose A

The Road Ahead: Web 3D and Native Mobile Apps

10:00 – 11:00am Primrose C/D

Page 51: ArcGIS Runtime SDK for Android: Hit the Ground Running