Downloader é uma biblioteca de download rápido muito leve e poderosa, com apenas cerca de 50 KB de tamanho. Para a maioria dos aplicativos, é a biblioteca de download mais econômica. A API fornecida pelo Downloader é mais simples e leve, e o Downloader fornece download síncrono e notificação do sistema. progresso, etc. Função.
Suporta download paralelo serial e multithread
Download de currículo de ponto de interrupção de suporte
Suporta transferência fragmentada
Progresso da notificação do sistema de suporte
Suporta downloads síncronos e assíncronos
Suporta caminhos personalizados
Suporte para adição de cabeçalhos de solicitação
Configuração de tempo limite de suporte
Fornece API simples
Suporte para downloads redirecionados
Retorno de chamada de progresso de suporte
Configuração de contagem de novas tentativas
Suporta instalação automática após baixar o arquivo APK
Suporta operações como pausar e retomar downloads
allprojects { repositories { ... maven { url 'https://jitpack.io' } } }
Apoiar
implementação 'com.github.Justson:Downloader:v5.0.4'
Androidx
implementação 'com.github.Justson:Downloader:v5.0.4-androidx'
Arquivo arquivo = DownloadImpl.getInstance(getApplicationContext()) .url("http://shouji.360tpcdn.com/170918/93d1695d87df5a0c0002058afc0361f1/com.ss.android.article.news_636.apk") .pegar();
DownloadImpl.getInstance(getApplicationContext()) .url("http://shouji.360tpcdn.com/170918/f7aa8587561e4031553316ada312ab38/com.tencent.qqlive_13049.apk") .enfileirar();
DownloadImpl.getInstance(getApplicationContext()) .target(novo arquivo(this.getExternalCacheDir(), "com.ss.android.article.news_636.apk")) .setUniquePath(falso) .setForceDownload(verdadeiro) .url("http://shouji.360tpcdn.com/170918/93d1695d87df5a0c0002058afc0361f1/com.ss.android.article.news_636.apk") .enqueue(new DownloadListenerAdapter() {@Overridepublic void onStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength, Extra extra) {super.onStart(url, userAgent, contentDisposition, mimetype, contentLength, extra); }@Overridepublic void onProgress(String url, longo baixado, longo comprimento, longo tempo usado) {super.onProgress(url, baixado, comprimento, tempo usado);Log.i(TAG, " progresso:" + baixado + " url:" + url); }@Overridepublic boolean onResult(Throwable throwable, Uri path, String url, Extra extra) {Log.i(TAG, " path:" + path + " url:" + url + " length:" + new File(path.getPath ()).length());return super.onResult(throwable, caminho, url, extra); } });
/data/data/com.download.sample(packagename)/cache/download/private/filename.jpg /data/data/com.download.sample(packagename)/cache/download/public/filename.jpg