使用产品:supermap-imobile-9.1.0-153-android-zip-chs
数据类型:文件型 udb
我在 A 活动打开了地图,并且成功显示出来了,从 A 跳转到 B 活动,在 B 活动打开同一个工作空间删除数据源里的数据,在日志的返回值是删除成功了的,但是从 B 活动返回来,地图里还是有数据的,没有删除掉。把应用关闭,再次打开,数据还是存在。
在 A 活动删除,是能直接删除的。
下面是 B 活动中删除数据的代码,因为有其他业务,所以是在 IO 线程删除的。
Workspace workspace = new Workspace();
WorkspaceConnectionInfo connectionInfo = new WorkspaceConnectionInfo();
connectionInfo.setType(WorkspaceType.SMWU);
connectionInfo.setServer(path);
boolean open = workspace.open(connectionInfo);
Datasets datasets = workspace.getDatasources().get(0).getDatasets();
DatasetVector vector = (DatasetVector) datasets.get(layerName);
QueryParameter parameter = new QueryParameter();
parameter.setCursorType(CursorType.DYNAMIC);
parameter.setAttributeFilter(buffer.toString());
Recordset query = vector.query(parameter);
if (query.getRecordCount() > 0) {
query.edit();
boolean b = query.delete();
query.update();
}
query.close();
query.dispose();
vector.close();
boolean save = workspace.save();
workspace.close();
workspace.dispose();