我正在尝试检索 Dropbox 元数据的标签,以便我可以将其保存在列表中,并使用它来显示给定的数据是否属于文件、文件夹类型或已被删除?
这是我使用的方法withInincludedDeleted,它允许我显示所有已删除的文件/文件夹以及未删除的文件/文件夹,并显示标记(如果已删除)。
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":"folder","name":"entries","id":"id:NNgoZ4mypJAAAAAAAAABCw","path_lower":"/data/entries","path_display":"/data/entries"}
{".tag":"deleted","name":"entry_87e7c498a6631825dd3aa5a3c810c49a","path_lower":"/data/entries/entry_87e7c498a6631825dd3aa5a3c810c49a","path_display":"/data/entries/entry_87e7c498a6631825dd3aa5a3c810c49a"}
{".tag":"file","name":"entry_0d08beeee44681783e76de22fdfa9cb1","id":"id:NNgoZ4mypJAAAAAAAAAA_g","client_modified":"2019-03-04T10:11:44Z","server_modified":"2019-03-04T10:11:45Z","rev":"017000000012d1542b0","size":389,"path_lower":"/data/entries/entry_0d08beeee44681783e76de22fdfa9cb1","path_display":"/data/entries/entry_0d08beeee44681783e76de22fdfa9cb1","content_hash":"b05a1ceebccebd2d85520b944b56ddb7edefc7823a129a9bc116d60bbc9227a7"}
{".tag":"file","name":"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"}
最佳答案
按原样使用 Dropbox SDK 时,您不需要直接与 JSON 交互(例如,获取“.tag.”值)。 SDK 会为您将这些对象转换为 native 类型对象。您可以检查对象的类型以根据需要处理它们。您可以使用 instanceof
检查类型。
有an example of using it here 。在你的情况下,除了检查它是否是 FileMetadata
或FolderMetadata
,你可以检查它是否是 DeletedMetadata
。 (所有这三个都是 Metadata
的子类。)
关于java - 是否可以从 Dropbox 文件的元数据中检索唯一的标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54985381/