跳转至

JmDownloadClient 接口

JmDownloadClient 定义了下载操作。AbstractJmClient 同时实现了 JmClientJmDownloadClient,所以无需单独获取。

链式下载

client.download(album)
        .withPath(path)
        .withProgress(callback)
        .withExecutor(executor)
        .execute();

直接下载方法

图片下载

方法 返回类型 说明
downloadImage(JmImage) void 下载图片到默认路径
downloadImage(JmImage, Path) void 下载图片到指定路径
downloadImage(String, Path) void 按 URL 下载图片

章节下载

方法 返回类型 说明
downloadPhoto(JmPhoto) DownloadResult 下载章节到默认路径
downloadPhoto(JmPhoto, Path) DownloadResult 下载章节到指定路径
downloadPhoto(JmPhoto, IPhotoPathGenerator) DownloadResult 使用路径生成器
downloadPhoto(JmPhoto, Path, ExecutorService) DownloadResult 指定线程池
downloadPhoto(JmPhoto, IPhotoPathGenerator, ExecutorService) DownloadResult 生成器+线程池
downloadPhoto(JmPhoto, IDownloadPathGenerator, ExecutorService) DownloadResult 完整路径生成器

本子下载

方法 返回类型 说明
downloadAlbum(JmAlbum) DownloadResult 下载本子到默认路径
downloadAlbum(JmAlbum, Path) DownloadResult 指定路径
downloadAlbum(JmAlbum, IAlbumPathGenerator) DownloadResult 使用路径生成器
downloadAlbum(JmAlbum, Path, ExecutorService) DownloadResult 指定线程池
downloadAlbum(JmAlbum, IAlbumPathGenerator, ExecutorService) DownloadResult 生成器+线程池
downloadAlbum(JmAlbum, IDownloadPathGenerator, ExecutorService) DownloadResult 完整路径生成器

下载任务系统

通过 createDownloadTask 创建任务,由 downloadManager() 提交和控制:

方法 返回类型 说明
createDownloadTask(JmAlbum, Path) BaseDownloadTask 创建本子下载任务(含章节/图片子任务树)
createDownloadTask(JmPhoto, Path) BaseDownloadTask 创建章节下载任务(含图片子任务)
createDownloadTask(JmImage, Path) BaseDownloadTask 创建单图下载任务
downloadManager() IDownloadManager 获取任务管理器
BaseDownloadTask task = client.createDownloadTask(album, path);
client.downloadManager().submit(task);

详细用法见 下载任务系统

生命周期

JmDownloadClient 继承 AutoCloseable,使用完毕后需关闭:

try (AbstractJmClient client = JmComic.newApiClient(config)) {
    client.downloadAlbum(album);
} // 自动关闭