为了账号安全,请及时绑定邮箱和手机立即绑定
源码呢?没有源码就是不完整的教程,原理是讲得很详细,但实现却看得我眼花缭乱,没源码真不好理解
下载完成后再次点击更新就无效了,难道是stopSelf的问题?
另外是下载完成一般都直接安装了,加个startActivity就好了;
handler的逻辑挺好的,我还是要学习个.
另外就是没网时不会报下载失败,看来还需要继续完善一下.
handlerProgressChangedMessage((Integer)response[0].intValue());
intValue()这里报错了 为什么啊
(续)
3.下载进度的计算存在两个问题
(1)completeSize / mCurrentFileLength两个变量都是int,所以必须先把一个转成float,否则结果肯定为0
(float) completeSize / mCurrentFileLength)
(2)completeSize / mCurrentFileLength是小数,要乘以100
4.更新进度的条件
if (limit % 30 == 0 && progress <= 100)
5. DownloadResponseHandler本来也是可以去掉的,学习一个思想,就留着吧!
总结一下:
本课程学习了”service-manager-真正执行类-listener“进行下载apk的模式,以及快速使用notification的方法
老师讲的代码还是有bug或者问题的,自己简单改了一下,能够实现课程需要的功能,地址:
https://github.com/xzhang76/DownloadUpdater
修改点如下:
1.DownloadResponseHandler这个类处理message的handleMessage应该走自定义的handleSelfMessage()
2.处理消息的几个方法应该执行的是UpdateDownloadListener回调接口
(待续)
不错,老师讲的很好,加油
虽然还没看完这个自定义handler的全部实现,但是我基本可以确定,这个自定义handler基本上是多余的,一个原生handler就可以做完所有事情。
如果有源码 对应我们学习肯定更好了
源码哪里有啊
比起我自己之前搞出来的自动更新,这个看着好高大上啊
回复@好多个胖子:首先对你提出的建议表示感谢,你的前一部分建议很对,是可以把检查的部分放到manager类中,但进度的更新不放在处于UI线程的Service中要放到哪里呢?最后,不知道你看没看过AysncTask的源码,它的内部实现方式也是线程池+回调的处理,只不过是对外提供了封装而已,而且使用线程池主要是为了让他自己去管理线程的生命周斯,并不一定是为了使用多个线程。
老师,我问问,你的会回调方法什么时候会被调用,如何触发使得他被调用?我对于方法回调一窍不通啊?
全部实现了 就是下载后还要手动点击安装。。。。。
大家等我源码吧 哈哈哈
突然冒出个DownloadResponseHandler 吓死宝宝了。。。
课程须知
学习本课程,必须先掌握安卓四大组件的基础知识和应用
老师告诉你能学到什么?
通过代码实战,实现我们的app自动更新功能,让学生真正的会使用我们开发的自动更新组件 慕课网Android讨论群② 170368200

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消