What's new in version 1.0.1
The ArcGIS Runtime SDK for Android is now out of beta! We have spent a lot of time improving the Android SDK since it was released in beta form back in February 2011. The improvements have come from your feedback, ideas and internal engineering efforts. To ease your migration as an existing beta user we have put together this document so you know what is new and what has changed.
New Features
Enhanced Mapping
- New and improved performance and usability of the map control
The map control has been significantly enhanced to improve performance, usability and memory consumption.
New layer types
- LocalTiledLayer
- Bing map layers
- Image services layers
- Grid layer
- New ArcGISLocalTiledLayer – for adding compact caches created from server or desktop to your mapping application
MapView Improvements
- Map rotation on the MapView – see setRotationAngle() methods and setAllowRotationByPinch() methods
- Also new setExtent() method which allows for rotation and padding
- The map extent and scale can be fixed through the use of the setMaxBoundaryExtent, setMaxResolution and setMinResolution methods
- The map background can be set using the setMapBackground() method on the MapView.
- We have introduced the MapView.onPause and MapView.onUnPause methods to be used when the map is put into the background to reduce power consumption when the map activity goes into the background
ArcGIS WebMap improvements
- Support for web map popups
- Support for webmap mapnotes and feature collections
Layer enhancements
- API Support for secure services
- Tile layer - getCurrentLevel, getScaleforLevel
- get layers, getAllLayers
- expose tileinfo
Symbology improvements
- Symbol changes – some properties
- Symbol rotations – alignment and angle
SDK
- New ArcGIS project injection workflow
- UI Localization of popups
Changes since the Beta release
- Only one map can be running within an application at a time
- Map activity lifecycle – onpause on resume, how to recyclethe map view
- Changes to Layer and map initialization events – event names have changed, more events have been added and the model is now more robust
- Android 2.2 and above only is supported.
- No support for the emulator – this is an Android SDK limitation due to the technology we are using to create the map control.
- Map layers are not Android views – this means they can not be added into the map view via layout xml definitions, please add layers programmatically (web maps can still be added in xml as before). Also you don't need to pass in the context to construct map layers any more. Other consequences of this are that the setBackground() method will not work, see the setMapBackground() method instead
- Map rotation has meant the map view.setExtent() method has changed – it now takes a geometry and returns a polygon (if the map is rotated, the extent return is a polygon of the rotated extent).
- BingLocator removed – The BingLocator class has been removed due to legal issues
- Graphics changes – substantial changes have been made to graphics and graphicLayer methods as graphics should now be considered as immutable objects. Do not update the properties of existing graphics objects (setters have actually been removed), you should create a new graphic object and call the graphicsLayer.updateGraphic() method instead. When adding and working with graphics you will be returned a UID int for each one, use this to get a reference to the graphic for updating / deleting.
- Modified Task framework to adapt to Android AsyncTask mechanism
- More GP parameters are added
- Changes to QueryTask workflow
- Symbols are not android drawables (the toPaint and drawAt methods are removed) – so for getting a swatch to use in a legend use the graphicsLayer.createSymbolImage() instead. Also a batch method.
- Symbols (text and markers) uses 'dip' as its unit of size
- TextSymbol now inherits from marker symbol
- MapView.centerAtWithAnimation() has been added.
- Removed onextentchanged listener
- Use mapview.getMapDrawingCache method for getting map image
- GPS default single tap listener had been removed
5/31/2012