感觉断点下载这个功能还是挺常用的,毕竟是可以节省不少流量和时间,所以今天单独做一篇断点续传的实现。
直接上代码吧
这里是如何获取资源文件大小的代码
//如何使用OkHttp获取下载资源的大小
public static long getContentLength(OkHttpClient mClient, String downloadUrl) {
Request request = new Request.Builder()
.url(downloadUrl)
.build();
try {
Response response = mClient.newCall(request).execute();
if (response != null && response.isSuccessful()) {
long contentLength = response.body().contentLength();
response.close();
//这里返回的,就是资源文件的大小
return contentLength;
}
} catch (IOException e) {
e.printStackTrace();
}
return 0;
}
这里是具体的断点下载逻辑
String url = "你要下载的资源链接";
//保存到本地的文件名,通常我使用下载链接的最后一段来作为文件名的
String fname = url.substring(url.lastIndexOf("/") + 1);
File img = new File("SD卡路