Downloader est une bibliothèque de téléchargement rapide très légère et puissante, d'une taille d'environ 50 Ko seulement. Pour la plupart des applications, il s'agit de la bibliothèque de téléchargement la plus rentable. L'API fournie par Downloader est plus simple et légère, et Downloader fournit un téléchargement synchrone et une notification système. progrès, etc. Fonction.
Prise en charge du téléchargement parallèle série et multithread
Prise en charge du téléchargement de la reprise du point d'arrêt
Prise en charge du transfert fragmenté
Progression des notifications du système de support
Prise en charge des téléchargements synchrones et asynchrones
Prise en charge des chemins personnalisés
Prise en charge de l'ajout d'en-têtes de requête
Prise en charge de la configuration du délai d'attente
Fournir une API simple
Prise en charge des téléchargements redirigés
Prise en charge du rappel de progression
Configuration du nombre de tentatives
Prend en charge l'installation automatique après avoir téléchargé le fichier APK
Prend en charge des opérations telles que la pause et la reprise des téléchargements
allprojects { repositories { ... maven { url 'https://jitpack.io' } } }
Soutien
implémentation 'com.github.Justson:Downloader:v5.0.4'
Androidx
implémentation 'com.github.Justson:Downloader:v5.0.4-androidx'
Fichier fichier = DownloadImpl.getInstance(getApplicationContext()) .url ("http://shouji.360tpcdn.com/170918/93d1695d87df5a0c0002058afc0361f1/com.ss.android.article.news_636.apk") .obtenir();
TéléchargerImpl.getInstance(getApplicationContext()) .url ("http://shouji.360tpcdn.com/170918/f7aa8587561e4031553316ada312ab38/com.tencent.qqlive_13049.apk") .enqueue();
TéléchargerImpl.getInstance(getApplicationContext()) .target (nouveau fichier (this.getExternalCacheDir (), "com.ss.android.article.news_636.apk")) .setUniquePath(faux) .setForceDownload (vrai) .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, long téléchargé, long length, long usedTime) {super.onProgress(url, téléchargé, length, usedTime);Log.i(TAG, " progress:" + téléchargé + " url:" + URL); }@Overridepublic boolean onResult (Jetable, chemin Uri, URL de chaîne, extra supplémentaire) {Log.i (TAG, " chemin :" + chemin + " url :" + url + " longueur :" + nouveau fichier (path.getPath ()).length());return super.onResult(throwable, path, url, extra); } });
/data/data/com.download.sample(packagename)/cache/download/private/filename.jpg /data/data/com.download.sample(packagename)/cache/download/public/filename.jpg