|
POST
|
If you are new to asynchronous programming patterns using the DoneLoadingListener then you might find this blog post a useful read. https://www.esri.com/arcgis-blog/products/developers/field-mobility/a-pitfall-of-asynchronous-java-code/
... View more
05-22-2020
06:35 AM
|
0
|
0
|
646
|
|
POST
|
If you are new to asynchronous programming patterns using the DoneLoadingListener events then you might find this blog post a useful read. https://www.esri.com/arcgis-blog/products/developers/field-mobility/a-pitfall-of-asynchronous-java-code/
... View more
05-22-2020
06:33 AM
|
0
|
0
|
482
|
|
POST
|
I confirmed with the offline team what WMTS does not support offline use. The WMTS standard is not designed for these workflows.
... View more
04-06-2020
09:22 AM
|
0
|
1
|
2699
|
|
POST
|
There are no server communications when using the ArcGISRuntimeEnvironment.setLicense method as you are doing. Apps can work offline completely if all your data is on the device, which is a big benefit over having a web app. Licence checks are performed on the device. Let me know if your new APK fixes the issue. A stack trace would be handy if you can get it if you are still seeing the issue.
... View more
03-21-2020
02:24 PM
|
0
|
0
|
1789
|
|
POST
|
Denis, You should not have any issues with this kind of deployment. Tell me a little more about the app and what it does. Also when you make an apk in Android Studio and deploy on your device does it work? Do you have a stack trace I can look at? And I'm also wondering if you are using R8 obfuscation in your build script? If you are, let me know as I've got an idea on what the issue could be. Mark
... View more
03-20-2020
08:30 AM
|
1
|
2
|
1789
|
|
POST
|
Hi Devendra, Maps are available in other spatial references, but maybe you can tell me what you are looking for? Is there a regional area or particular basemap you are wanting to get data for? You are correct you can create your own basemaps from raw data and you would be looking at using ArGIS Pro for this task to either create a local data or publish your data to a server based service. Again it's worth telling us a little more about what you are trying to achieve. Mark
... View more
03-16-2020
07:16 AM
|
1
|
1
|
6658
|
|
POST
|
Matt, The restriction you are experiencing is that Google no longer accept 32bit only applications. If you deploy 32bit for a given architecture then you must also include the 64bit libraries too. The most common architecture of processor in Android devices is ARM. Intel based phones were around for a short time, but they dropped out of the market. In your case you certainly need to include 'arm64-v8a' which is the library for ARM 64bit. I'd also suggest you include 'armabi-v7a' which is for 32bit ARM if you are likely to target these older devices. I'd recommend reading this Reducing your APK size—ArcGIS Runtime SDK for Android | ArcGIS for Developers Does that help?
... View more
02-28-2020
04:08 AM
|
2
|
1
|
4447
|
|
POST
|
Nathan, We investigated this more and I can't explain why this has changed in your app. I've spent some time with the offline data team and we've looked at any code changes in this area between 100.6 and 100.7 and there were none which could cause this. In addition I've been testing with your data. For 100.6 and 100.7 the ItemResourceCache is failing to load when you reference the "day" directory. For 100.6 and 100.7 is works if you reference the "day/bcosm" directory. I can't reproduce the situation you are reporting, however having the code so that it references "/day/bcosm" is correct. I've also looked into your feedback about documentation. I'm not a vector tile cache expert, but I can tell you there are 2 ways of generating the ItemResouceCache. You can request it via the API from the server, or I believe you can also create them from ArcGIS Pro. The following page (scroll right down to the bottom) explains how to achieve this with the API: Take a layer offline—ArcGIS Runtime SDK for Android | ArcGIS for Developers
... View more
02-24-2020
04:04 AM
|
0
|
0
|
2653
|
|
POST
|
Making an albeit insignificant change to the size of a tile cache request can easily make a big difference in the number of tiles you are downloading. If you consider that a tile cache has multiple levels of detail. For each level of detail (LOD) you go down to, there are even more tiles for that level. To understand how it grows just consider one level of detail. It is represented by 3 x 3 tiles so that LOD will contain 9 tiles. If the extent is increased a little around the edge, then it will grow by one tile in each direction. So this might equate now to 5 x 5 tiles so we have done from 9 tiles to 25 by only making a small increase in cache size. You then consider that exactly the same happens for each LOD on your cache and you will appreciate how it grows. Note that the Android SDK doesn't limit the size of a download cache, this is a server side constraint. Does this help to explain what is happening?
... View more
02-23-2020
05:48 AM
|
1
|
0
|
1665
|
|
POST
|
Nathan We replied at exactly the same time. I've noted you point about the ItemTileResource directory. I will need to ask someone on the offline data team about this.
... View more
02-21-2020
09:13 AM
|
0
|
0
|
2653
|
|
POST
|
Nathan, I've written a couple of applications today which are displaying VTPK files without any issues I can see. Without looking at your code it is hard for me to see what is happening, but I have a few thoughts: - If you have changed your API level to 23+ then there are changes in Android where you need to do some extra things to get permission to read files. Prior to 23 you could just get away with adding the permission in the manifest. You now need to explicitly request this and a dialog will pop up in your app. - You say it fails silently, but are you doing anything to capture error conditions? In the done loading listener you can look at the load status. This is what I've crudely added to my listener on the tileCache: tileCache = new VectorTileCache(Environment.getExternalStorageDirectory() + "/ArcGIS/Samples/TilePackage/vectorTilePackage.vtpk");
tileCache.loadAsync();
tileCache.addDoneLoadingListener(()-> {
Log.e("mb:" , "load status " + tileCache.getLoadStatus());
Log.e("mb:" , "load error " + tileCache.getLoadError());
- The other thought I'm having is around garbage collection. Are you using member variables in your code where you are reading values in a separate thread to where you called loadAsync? To show you what I mean here is some vulnerable code: // create feature layer with its service feature table // create the service feature table ServiceFeatureTable serviceFeatureTable = new ServiceFeatureTable( getResources().getString(R.string.sample_service_url)); // create the feature layer using the service feature table FeatureLayer featureLayer = new FeatureLayer(serviceFeatureTable); // trigger the layer to load featureLayer.loadAsync(); // this code gets run on a new thread when the feature is loaded. featureLayer.addDoneLoadingListener(() -> { String desc = featureLayer.getDescription(); Toast.makeText(this, "Description: " + desc, Toast.LENGTH_SHORT).show(); }); serviceFeatureTable is a variable which will eventually get garbage collected once it goes out of scope. There is always a possibility if you are unlucky it will get garbage collected before the doneLoadingListener gets fired... it therefore looks like it has silently failed! If serviceFeatureTable is a member of the class this will not happen. Note sure if any of this helps, but something to be thinking about. Note that we are always happy to help, but please keep the conversation polite 😉
... View more
02-21-2020
09:02 AM
|
0
|
0
|
2653
|
|
POST
|
Nathan, We are looking into this and will respond shortly. My first thoughts are if you have changed the API level of you app?
... View more
02-21-2020
06:04 AM
|
0
|
0
|
2653
|
|
POST
|
Tom, I've looked at the link and have noticed a misleading statement at the top of the page which states: "Packaging a JavaFX application in a .jar is possible only with Java 8." This probably only applies to creating the .jar using the IDE UI. Don't worry your work in Java 11 most certainly CAN be turned into a runnable jar. Absolutely no need to go back to Java 8 and 100.4 this would be a backwards step. I would encourage you to look at how we have achieved this in our sample applications where we have used gradle build scripts. This approach is best as the build scripts can be used inside your CI build process. The git repository is here: https://github.com/Esri/arcgis-runtime-samples-java I'd suggest loading up this app directly in IJ https://github.com/Esri/arcgis-runtime-samples-java/tree/master/map/display-map Using gradle window you can run the app by using application -> run Once you are happy it works build the jar in gradle window using build-> jar. The resulting jar file will be in the build/libs folder. The jar won't work on its own as you will need the native libraries for your chosen platform which is documented here: https://developers.arcgis.com/java/latest/guide/deploy-your-app.htm Does this help?
... View more
02-19-2020
03:58 AM
|
0
|
0
|
4407
|
|
POST
|
This isn't what map reference scale was intended for. I'd really encourage you to go down the route of RasterLayers. If you need guidance on geo-referencing your data let me know. Hopefully your data will already be geo-referenced.
... View more
01-23-2020
02:30 AM
|
0
|
0
|
2664
|
|
POST
|
I'm getting a better understanding of what you are trying to do. So when displaying information you typically have vector data (made up of points, lines and polygons) or raster data (aerial photographs for example). You mention the an "image" which suggests raster data to me, but you don't say what format of raster data you are working with. There are lots of formats of data which have geo-reference data included in the format. This means that the file contains information about the location of the corners of the data. If you are working with one of these formats, then what you are trying to do is very easy. We have a sample in git showing how to do this: arcgis-runtime-samples-android/java/raster-layer-file at 81a23fb7814cebe376bf3979a70a599c66742679 · Esri/arcgis-runtime-… More information on RasterLayers are here. Add raster data—ArcGIS Runtime SDK for Java | ArcGIS for Developers If course its possible that the image data you have isn't geo-referenced. If this is the case, then you need to a little more work to display your data. You'll have to tell me if you need extra information here. Does this help?
... View more
01-22-2020
05:16 AM
|
1
|
1
|
2664
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 05-12-2026 01:35 AM | |
| 2 | 05-07-2026 06:59 AM | |
| 1 | 08-13-2024 05:17 AM | |
| 1 | 07-10-2024 01:50 AM | |
| 1 | 04-22-2024 01:21 AM |
| Online Status |
Offline
|
| Date Last Visited |
05-13-2026
06:46 AM
|