allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.Larissa-x:DownloadManager:1.0.1'
}
DownloadManager.init(this);
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
DownloadManager.Builder(context)
.apply {
//是否开启断网重连
isNetworkReConnect = true
downloadUrl = "你的url"
//本库默认的下载路径、如果需要别的路径,需要自己手动创建文件夹
savePath = "${filesDir}${FileConfig.download_path}"
}
.build()
//下载进度回调监听
.setListener(object : DownloadManager.DownloadListener {
override fun onComplete(file: File) {
Log.d("下载成功", "onComplete: ${file.absolutePath}")
}
override fun onProgress(progress: Int) {
Log.d("下载中 progress进度回调 0 - 100", "onProgress: $progress")
}
override fun onError() {
Log.d("下载失败", "onError")
}
}).start()//开始下载任务
DownloadManager.Builder builder = new DownloadManager.Builder(this);
//是否开启断网重连
builder.setNetworkReConnect(true);
//本库默认的下载路径、如果需要别的路径,需要自己手动创建文件夹
builder.setSavePath(getFilesDir() + FileConfig.download_path);
//下载url
builder.setDownloadUrl("");
builder.build()
.setListener(new DownloadManager.DownloadListener() {//下载监听回调
@Override
public void onComplete(@NonNull File file) {
//下载成功回调file、如果只使用一次,使用后可以调用file.delete()删除文件
}
@Override
public void onProgress(int progress) {
//已经转换好的下载进度
}
@Override
public void onError() {
//发生了异常
}
})
.start();