Возможно ли получить только тег из метаданных файла Dropbox? - PullRequest
0 голосов
/ 04 марта 2019

Я пытаюсь получить тег метаданных 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 ":" папка", "имя": "запись", "идентификатор": "идентификатор: NNgoZ4mypJAAAAAAAAABCw", "path_lower": "/ данные / запись", "path_display": "/ данные / запись"}

1013 * { "тег. ":" удален", "имя": "entry_87e7c498a6631825dd3aa5a3c810c49a", "path_lower": "/ данные / данные / entry_87e7c498a6631825dd3aa5a3c810c49a", "path_display": "/ данные / данные / entry_87e7c498a6631825dd3aa5a3c810c49a"}

{". Tag": «file», «name»: «entry_0d08beeee44681783e76de22fdfa9cb1», «id»: «id: NNgoZ4mypJAAAAAAAAA__», «client_modified»: «2019-03-04T10: 11: 44Z»"server_modified": "2019-03-04T10: 11: 45Z", "оборот": "017000000012d1542b0", "размер": 389, "path_lower": "/ данные / записи / entry_0d08beeee44681783e76de22fdfa9cb1", "path_display": "/ данные/ записи / entry_0d08beeee44681783e76de22fdfa9cb1" , "content_hash": "b05a1ceebccebd2d85520b944b56ddb7edefc7823a129a9bc116d60bbc9227a7 "}

{". Tag ":" file "," name ":" entry_48b6afc3a21d255ef0cbe3ec758be441 "," id ":" id: NNgoZ4mypJAAAAAAA10: AAAAA9 ": клиент_A_A_1_1_1_201_A_1_201_": 201_1 "44Z», "server_modified": "2019-03-04T10: 11: 45Z", "оборот": "018000000012d1542b0", "размер": 2010, "path_lower": "/ данные / данные / entry_48b6afc3a21d255ef0cbe3ec758be441", "path_display":"/ данные / данные / entry_48b6afc3a21d255ef0cbe3ec758be441", "content_hash": "5c94187209c748e22a38926fddbbf860460e14fee1f3d76f9e81aefc446a6612"}

1 Ответ

0 голосов
/ 04 марта 2019

При использовании Dropbox SDK вам не нужно напрямую взаимодействовать с JSON (например, чтобы получить значение «.tag.»).SDK переводит эти объекты в нативные типизированные объекты для вас.Вы можете проверить тип объектов, чтобы обрабатывать их по желанию.Вы можете проверить тип, используя instanceof.

Есть пример использования здесь .В вашем случае, в дополнение к проверке, является ли это FileMetadata или FolderMetadata, вы можете проверить, является ли это DeletedMetadata.(Все три из них являются подклассами Metadata.)

...