我正在尝试使用Android版ArcGIS SDK编辑脱机.geodatabase
文件。我一直在寻找文档,并且找到了使用服务的方式,但是我的应用程序不使用任何服务,仅使用脱机文件。
我正在做的是打开.geodatabase
文件,当文件打开时,它会自动创建两个文件(.geodatabase-shm,.geodatabase-wal)。稍后,当我要编辑与地图单元格有关的信息时,我调用方法:
GeodatabaseFeatureTable.updateFeature(long featureId, Map<String, Object> attributes)
文件(.geodatabase-shm,.geodatabase-wal)已更新,但原始文件(.geodatabase)未更新。
我需要将.geodatabase文件发送到服务器以供其他用户下载,那么如何将更改应用于此文件?我应该做一些地理数据库事务吗?
答案 0 :(得分:1)
.geodatabase-shm和.geodatabase-wal文件是临时文件,更改将在关闭后应用于原始.geodatabase。
因此,当不再使用地理数据库时(例如在onDestroy方法中),该解决方案由调用方法Geodatabase.close()
组成。这是方法概述:Geodatabase close method
在我的情况下,我必须使用其他方法,因为我可能正在使用旧版本的ArcGIS SDK。方法为Geodatabase.dispose()
,您可以在此处查看说明:Geodatabase dispose method