Tag Archives: Java
We are pleased to announce the release of the ArcGIS Runtime SDK for Android v2.0. This is a coordinated release with iOS and Win Phone. The recently released ArcGIS Application for Android is built with this version of the SDK. All of the feature functionality found in the app can be developed in your own custom app.
New features in this release include:
- Tile and Feature services hosted on ArcGIS Online. These services allow you to use Esri’s cloud to store and serve your maps. These services are available through an ArcGIS Online Organization Subscription.
- New Fix Project Properties Feature tool. This allows for easy upgrades of existing projects based on previous releases of the SDK.
More information about this release can be found on our new community site.
This update contains a minor fix to the SDK Eclipse plugin. The v1.1 Eclipse plugin was not honoring our new Classpath Container for ArcGIS for Android projects.
Eclipse classpath containers are an organized, user-friendly way to manage Java build paths in Eclipse. ArcGIS Android project dependencies are a group of java libraries referenced as ArcGIS for Android 1.1.1. The view of the libraries is simplified in the Eclipse Java Perspective as a single entry that can be expanded to view the entire set.
The 1.1.1 SDK plugin has been fixed to ensure the libraries are honored in new projects and samples. There is no change to the API or the functionality.
The Android SDK team recently released an upgraded faster emulator that has support for native OpenGL ES 2.0! This is a key tool for ArcGIS Android developers in building and testing their apps. We have been testing on all platforms and today can announce support for ArcGIS Runtime SDK for Android apps working on the emulator on all platforms, Mac, Linux, and Windows. Here are the steps to configure your development environment:
1. On all platforms ensure that you have ‘ARM EABI v7a System Image installed for Android 4.0.3 (API 15).
I’m happy to announce the availability of the Pre-Release of the new ArcGIS Runtime SDK for WPF and Java. For more information visit www.esri.com/runtime.
ArcGIS Runtime SDK for WPF and Java enables developers to build rich, highly functional GIS applications that take full advantage of the Windows Presentation Foundation (WPF) or the Java SE platform, yet the applications can have a small footprint.
In a connected scenario, the application can consume content and services from ArcGIS Server, or ArcGIS Online (including hosted services available as part of an ArcGIS Online subscription), and Portal for ArcGIS. In a disconnected scenario (your users don’t have a network or Internet connection), you can provision their devices with local packages containing GIS resources, such as maps, data, and geoprocessing tools, so that users can work while disconnected. Spatial analysis, geocoding, routing, and editing can all be performed against the local packages.
Your application can have both online and local content and capabilities.ArcGIS Runtime allows for modular deployment; you select the subset of ArcGIS Runtime components necessary to support the GIS functionality you have chosen to include with your application.
The Mobile Team is pleased to announce that v1.1 of the ArcGIS Runtime SDK for Android is now available for download from the resource center. Some of the improvements made in this release include:
- Ability to search for and access content, users, and groups on portals such as ArcGIS.com
- Support for Advanced Symbology which processes features whose definitions are stored locally on your device.
- Support for multiple MapViews in a single application allowing you to switch activities in a single application supporting multiple MapViews.
- Group Layers support all layer types including graphics layers and provides the ability to manipulate sub-layer visibility, opacity, and order.
- Support for secured services in web maps.
- Add Esri logo to ArcGIS Online Maps
- Support for revision 17 of the Android SDK Tools and of the Eclipse ADT plug-in.
- Project libs, e.g. ArcGIS_Android.jar, are packaged as a User Library.
- Redesigned Eclipse New Sample wizard
- New API Samples
And much more! You can refer to the documentation for more information about these improvements and how to migrate your existing applications to the new SDK.
For all of you who made it out to Palm Springs for the Developer Summit, thank you for coming and attending the sessions. We will soon make the Android application that was shown in the plenary and tech sessions available as a sample on the resource center. We hope to see you again at this year’s User Conference in San Diego.
Revision 17 of the Android SDK and Eclipse ADT Plugin includes major changes to the dependency management of Android projects and will break existing ArcGIS Android SDK projects. The reason for this is Android projects in Eclipse no longer adds dependencies from User Variables. Since this is a deployment issue in our design you may not at first recognize the issue as your projects will not show any problems. When you attempt to deploy your project from within Eclipse or as an exported APK file you will notice your app crashes. Fortunately there is a simple fix:
- Click on your ArcGIS for Android project
- Select Properties
- Select Java Build Path
- Select Order and Export
- Check all the ARCGIS_FOR_ANDROID resources
Here is a screenshot of how the Order and Export tab should look.
Now you just need to update your project to r17 specs.
- Click on your ArcGIS for Android project
- Select Android Tools > Fix Project Properties
That’s it, your app should now work as expected. We are working to address this in our upcoming release of the ArcGIS Runtime SDK for Android v1.1 expected in couple of weeks.
With ArcGIS for Android now available, this article discusses what steps are needed to set up your Android development environment to work with Runtime. To follow along, you will need an Android 2.2+ powered device to test your applications. Continue reading
The Mobile Team is pleased to announce that v1.0.1 of the ArcGIS Runtime SDK for Android has been released. After months of hard work, we have enhanced the beta release to include some really cool performance and functionality improvements. To access the download, please visit the Android Resource Center.
The SDK allows you to add the power of the ArcGIS system to your Android apps which can run on phones and tablets with the Android OS v2.2 and above. This includes the ability to connect to ArcGIS Online and ArcGIS Server. You can also add cached base maps which are stored locally on your device! With this SDK you can:
- Add maps from ArcGIS Online or create your own maps in code
- Add base maps which are stored locally on the device to your maps
- Use a rich set of tasks which leverage the power of ArcGIS to analyze your maps and provide information to your users
- Add functions to let users to edit data whilst out in the field
- Work with your devices GPS
- Identify features in the map and view the rich pop ups which you can author in ArcGIS online
- An integrated Eclipse plugin to make it easy to add ArcGIS to your Android projects
- Add graphics on top of the map
- Perform advanced geometric operations locally
The Beta release has been much improved upon based on all of your feedback. Some of the highlights of new features in this release are:
- Faster mapping
- Support for map rotation
- Support for webmap popups
- New layer support: Bing maps, Image server, Local tiled layer
- Support for secured ArcGIS services
For a full list see the whats new page.
Any questions should be placed on the new SDK specific forum, this is currently a 10.1 beta forum but will be publicly available on Dec 14th 2011. The existing public ArcGIS for Android forum will continue to be used as a forum for users of the ArcGIS for Android Application.
Happy app building! Did Santa come a little early this year?
Interested in finding out now about what is coming at 10.1 for Java SOE developers? 10.1 Beta 2 is ready, and the beta resources are available now. Here is an excerpt from the Help documenation that gives some early insight…
Updated SOE templates integrated in IDEs—The templates for building REST and SOAP SOEs have been upgraded for 10.1.
In the .NET template, .NET attributes contain all the essential information about your SOE, such as the properties and capabilities it exposes. This allows the SOE to be packaged and prepared for deployment when you build the software. You’ll also notice that .NET SOEs no longer derive from ServicedComponent. The migration path to 10.1 for .NET SOEs is to copy your existing code or projects into the new templates and rebuild. See Migrating a .NET server object extension to 10.1 to learn more.
- One-step deployment—You now deploy an SOE using a .soe file that is created through a post-build step. You can then register the SOE in one step by browsing to the .soe file in ArcGIS Server Manager. You don’t have to run any commands or write any extra code specifically for registering the SOE.
- 64-bit requirement—Since ArcGIS Server is now supported only on 64-bit operating systems, you must build your SOE to be 64-bit compatible.
- Manager integration—A new panel in Manager allows you to view your available SOEs and deploy new ones.
- More debugging options—Manager now allows you to set a delay on service startup, allowing you to hit breakpoints and step into SOE code that executes when the service starts. You can also specify a port range for debugging Java SOEs.
- Easier creation and customization of property pages—If your SOE exposes properties, a basic property page is now created automatically that administrators can see when editing your service in Manager. (In previous releases of ArcGIS Server for the Microsoft .NET Framework, you had to develop this property page yourself.) If you want advanced page elements beyond the default input text boxes, you can develop your own property pages for Manager. You can also write property pages that integrate with the Service Editor dialog box in ArcGIS for Desktop.
- Easier access of SOE properties in ArcGIS for Desktop—You no longer have to stop a service to edit its properties in the Catalog tree. This means that while a service is running, you can access the SOE to enable it and modify its properties page. When you apply the changes, the service is restarted.
Migration of 10.0 SOEs is an important topic for many of you as you make plans to upgrade to 10.1. Here are some helpful bits of information:
Migrating a Java server object extension developed for ArcGIS Server 10.0 to ArcGIS for Server 10.1 requires some modifications to the SOE’s source code. This topic discusses the required modifications and describes a new Eclipse wizard for exporting Java SOEs. It also explains the absence of the SOEManager tool at ArcGIS 10.1.
- Modify your SOE’s ServerObjectExtProperties Java annotation.
When an SOE is created using the Eclipse SOE creation wizard, the generated code includes a Java annotation called ServerObjectExtProperties, which holds metadata for the SOE. At ArcGIS 10.0, this annotation had the following attributes:
- displayName—User-friendly display name of SOE
- description—Multiline description of the SOE
- defaultSOAPCapabilities and allSOAPCapabilities—Capabilities of the SOE
- properties—Properties of the SOE as name = value pairs
- supportsMSD—Flag to indicate that SOE supports MSD-based services
At ArcGIS 10.1, with the introduction of service definition-based map services, the supportsMSD attribute is no longer required and has been removed. All other attributes remain unchanged. You must therefore modify your ArcGIS 10.0 Java SOE’s ServerObjectExtProperties annotation to look similar to the following, to work at ArcGIS 10.1:
@ServerObjectExtProperties(displayName = "Simple REST SOE", description = "My Simple REST Server Object Extension.", defaultSOAPCapabilities = "", allSOAPCapabilities = "", properties = "")
- Modify the SOE to use ArcGIS Server 10.1 map services.
ArcGIS 10.1 does not support map services based directly on MXD documents; instead, it supports map services that are based on service definitions.
You will therefore use the com.esri.arcgis.carto.IMapServerDataAccess interface to access layers available via a map service at ArcGIS 10.1. The following code snippet demonstrates how to obtain a handle to a feature class exposed as a layer via a service definition-based map service:
IServerObjectHelper soh = …; //accessible to SOEs at runtime IMapServerDataAccess mapServerDataAccess = (IMapServerDataAccess) soh.getServerObject(); IMapServer3 ms = (IMapServer3) mapServerDataAccess; String mapName = ms.getDefaultMapName(); int layerId = . . .;//integer id of the feature layer you are interested in accessing FeatureClass fc = new FeatureClass(mapServerDataAccess.getDataSource(mapName, layerId));