如何使用 ArcGIS SDK for Android 编辑离线 .geodatabase 文件?
How can I edit an offline .geodatabase file with ArcGIS SDK for Android?
我正在尝试使用 ArcGIS SDK for Android 编辑离线 .geodatabase
文件。我一直在查看文档,找到了使用服务的方法,但我的应用程序不使用任何服务,只是一个离线文件。
我正在做的是打开 .geodatabase
文件,当文件打开时它会自动创建两个文件(.geodatabase-shm、.geodatabase-wal)。后来,当我想编辑地图某个单元格的相关信息时,我调用方法:
GeodatabaseFeatureTable.updateFeature(long featureId, Map<String, Object> attributes)
并且文件(.geodatabase-shm、.geodatabase-wal)已更新,但未更新原始文件(.geodatabase)。
我需要将文件 .geodatabase 发送到服务器以供其他用户下载,那么如何将更改应用到该文件?我应该做一些地理数据库事务吗?
文件 .geodatabase-shm 和 .geodatabase-wal 是临时文件,更改将在原始 .geodatabase 关闭时应用。
因此,解决方案包括在不再使用地理数据库时调用方法 Geodatabase.close()
,例如在 onDestroy 方法中。以下是方法概述:Geodatabase close method
在我的例子中,我必须使用不同的方法,因为我可能使用的是旧版本的 ArcGIS SDK。方法是Geodatabase.dispose()
,你可以在这里看到描述:Geodatabase dispose method
我正在尝试使用 ArcGIS SDK for Android 编辑离线 .geodatabase
文件。我一直在查看文档,找到了使用服务的方法,但我的应用程序不使用任何服务,只是一个离线文件。
我正在做的是打开 .geodatabase
文件,当文件打开时它会自动创建两个文件(.geodatabase-shm、.geodatabase-wal)。后来,当我想编辑地图某个单元格的相关信息时,我调用方法:
GeodatabaseFeatureTable.updateFeature(long featureId, Map<String, Object> attributes)
并且文件(.geodatabase-shm、.geodatabase-wal)已更新,但未更新原始文件(.geodatabase)。
我需要将文件 .geodatabase 发送到服务器以供其他用户下载,那么如何将更改应用到该文件?我应该做一些地理数据库事务吗?
文件 .geodatabase-shm 和 .geodatabase-wal 是临时文件,更改将在原始 .geodatabase 关闭时应用。
因此,解决方案包括在不再使用地理数据库时调用方法 Geodatabase.close()
,例如在 onDestroy 方法中。以下是方法概述:Geodatabase close method
在我的例子中,我必须使用不同的方法,因为我可能使用的是旧版本的 ArcGIS SDK。方法是Geodatabase.dispose()
,你可以在这里看到描述:Geodatabase dispose method