Overview of application framework

Introduction

The ArcGIS Mobile SDK can be used to embed ArcGIS capabilities into existing line-of-business field applications. Using the ArcGIS Mobile APIs in your existing projects, you can deploy a fully custom field solution within your organization that directly targets the needs of existing field workflows.

However, you can also customize the ArcGIS Mobile applications to include your own business logic and workflows. Using the ArcGIS Mobile applications as a foundation for your field solution means that you can leverage the application framework and functionality and provide your own business logic and workflows. This will reduce the amount of programming and maintenance of your field solution.

The ArcGIS Mobile SDK includes the framework of the ArcGIS Mobile applications so you can create new tasks or extensions within your field projects or change the behavior of existing functionality.

To get started, it is important that you first understand the capabilities and architecture of the ArcGIS Mobile applications. Please refer to the ArcGIS Mobile Resource Center for the latest help and samples.

Framework architecture

To get started with the application framework, you need to understand the relationship between ArcGIS Mobile application framework libraries and ArcGIS Mobile core libraries (as shown below). ArcGIS Mobile core libraries provide the basic building blocks for building a custom application (Data Sources, GPS, Geometry, and so on). The ArcGIS Mobile application libraries are built on top of the core libraries. This means that implementation of the application library and application framework rely on a common set of core libraries.

This is required

The core ArcGIS Mobile framework is provided in ESRI.ArcGIS.Mobile.dll assembly, and the application framework is available in ESRI.ArcGIS.Mobile.Client.dll assembly.

Note that we have two sets of both assemblies: one for Windows platform and the other for Windows Mobile platform.

Although there are some minor differences between the application framework for smart devices and for Windows, the architecture of the two remains the same. Note that both out-of-box applications are designed with task-based, workflow-driven philosophy. The applications use the following key concepts.

The application framework provides the MobileApplication class representing the out-of-box application running on devices. From MobileApplication you can get access to application-level functionality such as hardware management (that is, GPS configuration). However, you will find that MobileApplication is most commonly used for workflow navigation. It provides methods for you to transition from one page (or dialog box) to the other, along a predefined workflow. This allows developers to focus more on custom functionality implementation and spend less time on other programming routines.

One mobile device can store multiple projects. However, only one project can be opened at a time. Therefore, you can get access to the current project through MobileApplication as well. The Project class normally contains a collection of tasks that field workers can use. By default, the application includes tasks and functionality for:

With application framework, you can customize most tasks in one way or the other to make it fit better for your organization's field operation.

Besides customizing existing tasks, you can also create your own custom tasks or extensions. A new Task will be listed on the UI where you can select tasks and starts executing when it's tapped/clicked. Typically, a task starts a workflow, while an extension is primarily used to customize/extend the application or existing tasks. In other words, extensions are designed for customizing behavior of existing tasks or pages. For example, you may have a Navigation Task that allows the user to select a destination from the map and shows a turn-by-turn map as the user's location changes. Or you may have a new menu item on the ViewMapTask that provides a customized way for zooming in or out.

To minimize your development efforts when using application framework, the framework provides a complete set of classes that you can use for developing a new task or extension. For example, in Windows Mobile, page and dialog classes can be commonly used to create a page or dialog style form that you can show along your workflow. Better yet, they work with MobileApplication so that you can easily transitition the user from one page/dialog box to the other with minimal programming efforts. If you need to show/edit attributes of a selected feature, use ViewAttributesPage or EditAttributesDialog. Both have rich, built-in functionality for convenient attribute viewing and editing. The MapPage, with a shared map component across different MapPage instances, not only minimizes resource consumption but also allows for customization of its menu and TitleBar to have a different look and feel.

There are a lot of other components the application framework has to offer. For example, the application framework for smart devices provides different groups for organizing information, such as the ListViewPage, MenuDialog, and so on.

For more details on application framework for different platforms, please refer to developer help.

If you need the most up-to-date documents and samples, see ArcGIS Mobile Resource Center.


9/20/2011