Android現在有一個全新的API,它與舊的API完全不同(這很有趣),但在互聯網上沒有任何實際的例子,所以我在他們的例子中只找到了一些代碼。下面是它:如何使用新的Dropbox API下載文件?
// Download the file.
try (OutputStream outputStream = new FileOutputStream (file)) {
mDbxClient.files()
.download (metadata.getPathLower(), metadata.getRev())
.download (outputStream);
}
我需要從遠程文件夾中下載文件到本地一個,所以我需要使用此路徑,例如:
.download ("Backups/backup.ab", "/storage/sdcard/Folder/backup.ab")
我已經試過了,但得到一個錯誤
拋出:IllegalArgumentException:字符串 '轉' 不匹配模式」
你知道嗎,它可以和metadata.getPathLower()
和metadata.getRev()
方法使用?我瞭解到,metadata
var從execute()的第一個argv中獲得,但是這個函數做了什麼?
非常感謝!
好的,但路徑參數必須看起來如何?例如,我想下載'backup.ab'文件,該文件位於我的應用程序單個文件夾(Dropbox上的Apps/AppName)的'Backups'文件夾中。我正在使用分離的函數進行下載,而不是活動,所以我如何從字符串文件路徑獲取'FileMetadata'? – Acuna
該文件路徑將是'/ backups/backup.ab'。您可以從[FileMetadata.getPathLower'](https://dropbox.github.io/dropbox-sdk-java/api-docs/v3.0.x/com/dropbox/core/v2/files/)獲取路徑FileMetadata.html#getPathLower--)。你可以得到['FileMetadata'](https://dropbox.github.io/dropbox-sdk-java/api-docs/v3.0.x/com/dropbox/core/v2/files/FileMetadata.html# getPathLower--)本身來自API中的各種位置,例如['listFolder'](https://dropbox.github.io/dropbox-sdk-java/api-docs/v3.0.x/com /dropbox/core/v2/files/DbxUserFilesRequests.html#listFolder-java.lang.String-)。 – Greg
我也這麼認爲,但是文檔說它必須匹配模式'「(/(。| [\\ r \\ n])* | id:。*)|(rev:[0-9a-f] { 9,})|(ns:[0-9] +(/.*)?)「',所以我有'IllegalArgumentException:字符串'路徑'現在不匹配pattern''錯誤。 – Acuna