Agenda. • What is ArcGIS Runtime for Windows Mobile. • Software Development
Kit. • Application SDK. - Introduction and Key Concepts. - Demos. • Core SDK.
Developing Mapping Applications with ArcGIS Runtime SDK for Windows Mobile Jay Chen Justin Colville
Agenda
•
What is ArcGIS Runtime for Windows Mobile
•
Software Development Kit
•
Application SDK
•
•
-
Introduction and Key Concepts
-
Demos
Core SDK -
Architecture
-
What’s new
Road Map
Introduction
ArcGIS Runtime
•
Family of SDKs for multiple platforms -
•
Consistent capabilities
Native to the platform -
For building great apps
•
Lightweight and fast
•
Powerful
•
Easy
Part of the ArcGIS platform
•
ArcGIS Online / Portal -
Maps, services, content and Organization branding
•
ArcGIS for Server -
•
ArcGIS for Desktop -
Packages
Services
SDK Platforms Android
JavaSE
QT
iOS
OS X
10.1.1
10.1.1
10.2 BETA
10.1.1
10.2 BETA
Java/ Android
Java Win/Linux
C++ Win/Linux
Objective-C
Objective-C
Cocoa Touch
Cocoa
Windows Mobile
WPF 10.1.1
10.1.1 .NET
.NET/XAML
Windows Phone
Windows Store
10.1.1
10.2 BETA
.NET/XAML
.NET/XAML
Core Runtime
Runtime form factors Desktop OS X
WPF
Phone s and tablets
Windows Store
QT
Windows Mobile
iOS
JavaSE Android
Windows Phone
Embedded
ArcGIS for Windows Mobile
•
•
Client Applications -
Rapid Deployment of Maps, Apps & Projects
-
Task-based, Workflow Driven User Experience
-
Disconnected
-
Synchronization of Data between Field & Office
SDK -
Coarse-grained .NET API
-
Extend client applications
-
Build custom solutions
ArcGIS for Windows Mobile 10.1.1
•
Offline multi-stop routing
•
Support for hosted feature services
•
Geometry editing
•
Tablet application user experience enhancements -
Simplified data collection workflow
-
GPS and coordinate display information
Software Developer Kit
Software Developer Kit
Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications • Connected or occasionally connected filed operations
Conceptual Documentation, API Reference, VS components & templates
Sample Code
Application SDK API • Extends ready-to-deploy applications • Creates new tasks or customizing existing functions • Available for Windows and Windows Mobile
Core SDK and Application SDK
Windows Mobile
WPF
Application SDK
Sync Agents
UI Controls
Spatial Reference
GPS
Geometry
Mobile Cache
Core SDK .Net Framework /.Net Compact Framework
Microsoft Visual Studio 2008
Network Resources
Win Forms
Application SDK
Application SDK - Introduction •
Designed for ready-to-deploy tablet and Windows Mobile applications
•
Allows developers to customize the applications -
Changes existing tasks/functions
-
Integrates new business logic and workflows
Application SDK – Key Concepts •
Task -
Defines a workflow for field operation
-
Embeds organization-specific business logic
-
Creates an entry on Task List Page
-
Inherits Task class
-
Execute() starts workflow
-
Example - Fire data collection task
Application SDK – Key Concepts (cont.)
•
Extension -
Customizes behavior of existing Tasks or functions
-
Needs to hook up to an extensible point in framework
-
Inherits ProjectExtension class
-
Either modifies existing workflow or introduces new business logic
-
Example: -
Laser Rangefinder Extension
-
Barcode Reader Extension
-
Bluetooth Camera Extension
Application SDK – Conceptual Architecture WPF/Windows Mobile View Map Collect Features
Task WorkList Search
Mobile Application
Project
Synchronize Custom Task… Task Custom Custom Task…
GpsConnection
Project Extension
Custom Extension Custom CustomTask… Task…
Application SDK – Extensible Points •
MapPage -
Extends MapPage if you need a page with map
-
Best practice for memory optimization
-
You can customize -
Title bar (icon + title)
-
Soft menu
Application SDK – Extensible Points (cont) •
•
Edit Attributes Page -
Takes a Feature as input
-
Built-in data entry page when a group is activated
-
Built-in validation for required fields
-
Supports attachments
View Attributes Page -
Takes a Feature as input
-
Supports attachments
Application SDK – Extensible Points (cont) •
CollectFeaturesTask -
Add/remove geometry collection methods
-
Add/remove groups (fields)
Application SDK – Extensible Points (cont) •
MenuDialog -
Think of it as a context menu on Windows
-
Use it when there are multiple actions available
Application SDK – Extensible Points (cont) •
•
SettingsPage -
A central place to configure settings
-
Add/remove settings
-
Saves with mobile project
Example: -
Laser Rangefinder -
Com port
-
Baudrate
Demo
Application Extension
How to Get Started? •
•
•
Project Templates -
Seamless integration with Visual Studio IDE
-
Creates Task or ProjectExtension solutions
-
Supports both Windows and Windows Mobile
-
Includes VS project for MPC
Developer Help -
Discusses architecture of the framework
-
Reveals extensible points with code snippets
SDK Samples -
Implemented in C#
-
Demonstrates various extensible points
Core SDK
Core SDK - Conceptual Architecture
GPS
MapAction
Map
Mobile Service Connection
Feature Layer
Sync Agents
Mobile Cache
Tile Cache/StreetMap
Annotation Layer
What’s new with the Core SDK •
No major namespace or class changes
•
Feature Service Replication API -
Supports hosted feature service from Online and Portal