I was trying to customize the Popup behavior on a new App built using ArcGIS Runtime SDK for Android 100.9, where I would like to show fileds that were hidden by default, as a custom feature.
Unfortunately I realised that listing fields from featureTable (.getFeatureTable().getFields()) or from Popup(getPopupDefinition().getFields()) gives the same result: I can only list fields that were markerd as visibile in the ArcGIS Pro project that generated the MMPK.
I haven't found away to list all fields that were originally present in map's layers, it seems that hidden fields are not reachable.
I'm probably missing somthing, but when I open the my MMPK (as a zip archive) under the "p14" folder I can find 3 kind of files:
- .geodatabase file for each map with operational layers: SQlite spatially enabled for use as mobile gdb -> those fields that were hidden in MMPK are present there (so data is preserved while creating MMPK even for hidden fields)
- .mapx file for each map : JSON describing the Map itself where the fields are all present, with different visibility default, same as original mapx as expecceted.
- .mmap file file for each map: JSON describing (If I guess right ...) how the map should be read by a Runtime SDK client, a sort of Offline version of the webmap of the Online WebGIS pattern.
Well, in the .mmap files, hidden fields were completely missing!
All fields are described by a JSON object with a visibility attribute, but the JSON objects, describing the hidden fields, are not present inside the file. If the SDK reads fields from this .mmap files, well I guess there is no way to get the list of all fields (visibile and hidden)
I hope I'm missing some precondition or implementation tha can be used.
If anyone that has found a solution on this task, any hint is very apprecaited.
Thanks,
Alessandro