Ниже приведен пример загрузки с помощью PRDownloader:
private int downloadFile(url){
String fileName = url.substring(url.lastIndexOf('/')+1);
String dirPath = getFilesDir().getAbsolutePath()+File.separator+"downloads";
//String dirPath = android.os.Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+"downloads";
return /*download id*/ PRDownloader.download(url, dirPath, fileName)
.build()
.start(new OnDownloadListener() {
@Override
public void onDownloadComplete() {
log("download complete!");
}
@Override
public void onError(Error error) {
log("onError: " +error.toString());
}
});
}
fileName
- это файл, который будет сохранен после загрузки.dirPath
- это место, где он будет храниться.
Пример того, как его вызвать:
String url = "https://www.your-url.com/files/file.txt"
int downloadId = downloadFile(url);
Вы можете хранить файлы либо во внутренней памяти с getFilesDir()
, либо на внешней памяти с getExternalStorageDirectory()
.
Вам не нужно никаких специальных разрешений для хранения во внутренней памяти, однако данные не будут доступны пользователю.Он также будет удален, если пользователь удалит приложение.
Если вы храните на внешнем хранилище, вам необходимо запросить разрешение у пользователя.Он сможет просматривать файлы (например, с помощью файлового браузера).