为了账号安全,请及时绑定邮箱和手机立即绑定

Android-Service系列之断点续传下载

XRay_Chen 移动开发工程师
难度中级
时长 1小时46分
学习人数
综合评分9.53
58人评价 查看评价
9.7 内容实用
9.6 简洁易懂
9.3 逻辑清晰
有些bug,比如:1.最后到达百分之一百的时候也要发送广播,解决方案:在MainActivity中直接设置进度为100,或者在while(){}后面添加广播语句intent.putExtra("finished",mFinised*100/mThreadInfo.getEnd());mContext.sendBroadcast(intent);2.狂点下载会出现多次下载。而且根本无法暂停。解决方法:在DownloadService中添加/*是否正在下载*/private boolean isDownloading = false;接下来相信聪明的你应该知道怎么做(onStartCommand)
if (intent.getAction().equals(DownloadService.ACTION_UPDATE)) {
int finished = intent.getExtras().getInt("finished");
if (mPbProgress.getProgress() != finished) {
Log.d(TAG, "finished:" + finished);
mPbProgress.setProgress(finished);
}
}
咳咳,只有我注意到Qovd3.5么- -未和谐版的快播啊
很多人手机上是没有sdk卡的。老师这个答案是拿到sd卡的路径。
部分手机是不对的。
比如魅族Environment.getExternalStorageDirectory()即可,就是拿到已有的内存。再拿后面的就会报错。
因为后面那个方法getabsolutepath();一般情况下是拿手机外置路径的。大家多查阅自己的机型,选择适合自己的方法、
点击几次下载时,会创建多个线程下载。我弄了个简单的办法,当点击开始下载后,将按钮的点击属性设为false,点击暂停后,再设为true
老师讲得不错!
老师的代码写的很规范,非常好!
出现错误了
.onStartCommand(DownloadService.java:34), 我完全按照你的写,但报错啊,
@可乐尼洛 如果你的java基础比较好的话 就会知道无论trycacth里面发生什么惊天动地的事情, 最外层的finally是一定会执行的。 不信可以自己测试。
@墨明棋妙的兜兜 权限问题 老师视频里面只写了read的权限 并没有写 write的权限 所以你在创建新文件夹的时候没有权限,就抛出了这歌异常
说卡的是不是你们自己家的网不好,说没源码的是不是你不会敲?老师讲的很好,你发什么牢骚
重复点击 下载按钮 是如何处理逻辑的,会重复下载吗,重复执行 service 的onstartCommand方法的吗,,,,,前一个没结束后一个又开始?
看不到懂了
课程须知
需要完成Android攻城师入门的学习
老师告诉你能学到什么?
1:如何实现断点续传 2:使用广播接收消息 3:多线程技术更新UI 4:Service的实际应用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消