Как следует скачать файл в нужную директорию?

Для скачивания файла в нужную директорию на устройстве Android можно использовать следующий код:

1. Создайте класс для выполнения скачивания файла:

import android.app.DownloadManager;
import android.content.Context;
import android.net.Uri;
import android.os.Environment;

public class FileDownloader {

    public static void downloadFile(Context context, String fileUrl, String destinationDirectory, String fileName) {
        DownloadManager.Request request = new DownloadManager.Request(Uri.parse(fileUrl));
        request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE);
        request.setTitle(fileName);
        request.setDescription("Downloading file");

        // Указываем путь и имя файла
        request.setDestinationInExternalPublicDir(destinationDirectory, fileName);

        DownloadManager downloadManager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
        downloadManager.enqueue(request);
    }
}

2. Вызывайте метод downloadFile() из нужного места в вашем приложении, передавая соответствующие аргументы:

String fileUrl = "http://example.com/file.pdf";
String destinationDirectory = Environment.DIRECTORY_DOWNLOADS; // например, папка Downloads
String fileName = "file.pdf";

FileDownloader.downloadFile(context, fileUrl, destinationDirectory, fileName);

Когда файл будет успешно скачан на устройство, он будет сохранен в указанной директории с указанным именем. В приведенном примере файл будет сохранен в директории "Downloads" со значением Environment.DIRECTORY_DOWNLOADS, но вы можете выбрать любую другую директорию, доступную для записи.