GithubHelp home page GithubHelp logo

ddownload's Introduction

DDownload

简单实现了一套下载系统,使用说明如下:

初始化

Application 中初始化

DDownload.getInstance().init(this);

设置过滤器

因为有相应的业务需求,所以也简单添加了过滤器功能。分为前过滤器和后过滤器。

前过滤器载我用于检测网络,如果非Wifi则拦截本次下载。

后过滤器用于下载后如果是压缩文件则解压,因为过滤器可以修改对应的 task,故可以用解压后的文件地址替换掉原压缩文件地址,使调用者无需关心解压操作。

DDownload.getInstance().addAfterDownloadFilter(new AfterDownloadGZipFilter());
DDownload.getInstance().addBeforeDownloadFilter(new BeforeDownloadCheckNetStateFilter());

下载

List<DownloadTask> list = new ArrayList<>();
DownloadTask downloadTask = new DownloadTask(AppConstant.path, AppConstant.url);
DownloadTask downloadTask = new DownloadTask(AppConstant.path2, AppConstant.url2);

DDownload.getInstance().start(list, "tag", new DownloadListener() {
    @Override
    public void onError(String msg, int code) {
        
    }

    @Override
    public void onComplete() {
        
    }
});

下载进度回调

  • 支持多个文件同一个总进度回调
DDownload.getInstance().setProgressListener(new ProgressListener() {
    @Override
    public void taskProgress(String downloadUrl, long progress, long total) {

    }

    @Override
    public void taskContainerProgress(String containerTag, long progress, long total) {
        
    }
});

停止所有任务

DDownload.getInstance().stopAll();

ddownload's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.