ArcGIS Runtime SDK version 100.15 is a long-term support release focused exclusively on bug fixes and minor updates. ArcGIS Maps SDKs for Native Apps version 200.x builds on the proven architecture of 100.15, and is designed to leverage the latest developer framework innovations. This topic outlines areas of the API that have undergone changes and provides guidance for re-factoring 100.x code for a 200.x app.
For developers of ArcGIS Runtime SDK for Java v100.x wanting to move over to the 200.x releases, the migration path for most users will simply be to update your build script to use the latest version of the API.
If you are using a gradle script such as the type we use in our samples, then updating the following line should be all you need to do.
ext {
arcgisVersion = '200.0.0'
}
There are, however, some circumstances where code will need updating before performing the upgrade. If you have been using deprecated parts of the API in 100.x, then you will find that these deprecated API sections have been removed in 200.x. These deprecations will need to be addressed prior to switching to 200.x.
When looking at the JavaDoc in 100.x for deprecated API, we will make suggestions on the replacement API you should use which will make your application code work with the 200.x release.
The 200.x release has one API breaking change which was introduced as an improvement in the API to support the JavaFX Color class instead of the Int based hexadecimal ARGB representation. In supporting the new Color class which works better for JavaFX developers, we added getters, setters and properties for the Color class. The original Int ARGB setters exist as overloads, but the getters only return the JavaFX Color class.
Once you have successfully got your application running with the v200.x, you can consider making use of the improvements we’ve made to the API which are aimed to assist in developer productivity:
-
Support for the Java Module System
-
The addition of JavaFX properties to GeoView and its subclasses MapView and SceneView, and classes which implement the Loadable interface.
Details of the additions to the API can be found in our release notes.