我正在尝试检索Dropbox元数据的标签,以便我可以将其保存在列表中并使用它来显示给定数据是否为类型文件,文件夹或是否已删除?
这是我使用withIncludedDeleted的方法,它允许我显示所有已删除的文件/文件夹与未删除的文件/文件夹,如果它被删除,则显示标签。
ListFolderBuilder EntrylistFolderBuilder = getDbxCleint().files().listFolderBuilder("/data/entries");
ListFolderResult result = EntrylistFolderBuilder.withRecursive(true).withIncludeDeleted(true).start();
while (true) {
for (Metadata metadata : result.getEntries()) {
mEntries.add(metadata);
//--------//
}
if (!result.getHasMore()) {
break;
}
result = getDbxCleint().files().listFolderContinue(result.getCursor());
}
}
是否可以从元数据中检索标记?因为我不想写不同的非常相似的方法,一个包含删除和其他没有它只有两个打印两个列表。
这就是存储在mEntries ArrayList中的元数据看起来像 -
{ “.TAG ”:“ 文件夹”, “姓名”: “条目”, “ID”: “ID:NNgoZ4mypJAAAAAAAAABCw”, “path_lower”: “/数据/条目”, “path_display”: “/数据/条目”}
{ “.TAG ”:“ 已删除”, “姓名”: “entry_87e7c498a6631825dd3aa5a3c810c49a”, “path_lower”: “/数据/条目/ entry_87e7c498a6631825dd3aa5a3c810c49a”, “path_display”: “/数据/条目/ entry_87e7c498a6631825dd3aa5a3c810c49a”}
{ “.TAG ”:“ 文件”, “名”: “entry_0d08beeee44681783e76de22fdfa9cb1”, “ID”: “ID:NNgoZ4mypJAAAAAAAAAA_g”, “client_modified”: “2019-03-04T10:11:44Z”, “server_modified”:“2019 -03-04T10:11:45Z”, “REV”: “017000000012d1542b0”, “大小”:389, “path_lower”: “/数据/条目/ entry_0d08beeee44681783e76de22fdfa9cb1”, “path_display”: “/数据/条目/ entry_0d08beeee44681783e76de22fdfa9cb1”, “content_hash”: “b05a1ceebccebd2d85520b944b56ddb7edefc7823a129a9bc116d60bbc9227a7”}
{ “.TAG ”:“ 文件”, “名”: “entry_48b6afc3a21d255ef0cbe3ec758be441”, “ID”: “ID:NNgoZ4mypJAAAAAAAAAA_w”, “client_modified”: “2019-03-04T10:11:44Z”, “server_modified”:“2019 -03-04T10:11:45Z”, “REV”: “018000000012d1542b0”, “大小”:2010, “path_lower”: “/数据/条目/ entry_48b6afc3a21d255ef0cbe3ec758be441”, “path_display”: “/数据/条目/ entry_48b6afc3a21d255ef0cbe3ec758be441”, “content_hash”: “5c94187209c748e22a38926fddbbf860460e14fee1f3d76f9e81aefc446a6612”}
在使用Dropbox SDK时,您不需要直接与JSON交互(例如,获取'.tag。'值)。 SDK会将这些对象转换为本机类型的对象。您可以根据需要检查要处理它们的对象类型。您可以使用instanceof
检查类型。
有an example of using it here。在你的情况下,除了检查它是否是FileMetadata
或FolderMetadata
,你可以检查它是否是DeletedMetadata
。 (这三个都是Metadata
的子类。)