我正在尝试检索Dropbox的元数据的标记,以便可以将其保存在列表中,并使用它显示给定的数据是File,Folder类型还是删除了?
这是我使用的 withIncludedDeleted 方法,它允许我显示所有已删除的文件/文件夹以及未删除的文件/文件夹,并带有显示的Tag(如果已删除)。
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”:“ / data / entries / entry_87e7c498a6631825dd3aa5a3c810c49a”,“ path_display”:“ 3/3/7/7/7
{“。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”:“ / data / entries / 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”,“ size”:2010,“ path_lower”:“ / data / entries / entry_48b6afc3a21d255ef0cbe3ec758be441”,“ path_display”:“” / data / entries / entry_48b6afc3a21d255ef0cbe3ec758be441“,” content_hash“:” 5c94187209c748e22a38926fddbbf860460e14fee1f3d76f9e81aefc446a6612“}
答案 0 :(得分:1)
按原样使用Dropbox SDK时,无需直接与JSON交互(例如,获取“ .tag。”值)。 SDK会为您将这些对象转换为本机类型的对象。您可以检查对象的类型以根据需要处理它们。您可以使用instanceof
检查类型。
有an example of using it here。对于您而言,除了检查它是FileMetadata
还是FolderMetadata
之外,您还可以检查它是否是DeletedMetadata
。 (所有这三个都是Metadata
的子类。)