- 使用实体类对文件信息和线程信息进行包装,准备实现以后的多线程和多文件下载
- 使用SQLite进行线程信息的储存,实现断点续传
- 使用服务代替Activity进行下载,防止用户或系统致使下载异常中断
- 使用Intent练习Activity和Service,使用BoardcastReceiver回传信息给主活动更新UI
- 调整更新UI频率,优化界面显示效果
- 总是忘记申请权限,下次要实现弹出授权窗口的功能
- 一开始读一次输入流就更新一次UI,结果导致下载极度缓慢,后面改为500ms更新一次就好了
- 出现了许多莫名错误,学会了使用log和Debuger,这个真心很有用
- 初步完成List View
- 支持多任务下载
- 使用多线程下载
- 使用线程池管理线程
- 多线程同时访问数据库导致数据库锁定(通过“单例模式”解决)
- 用户删除了下载文件,数据库没有及时判断
- 实现多线程多文件下载后UI不稳定,进度条到50%以后就开始出现显示异常,但是仍然可以成功下载文件(发现由于int不够长导致,已解决)
- 使用线程池后部分机型(比如我的手机)文件下载出现问题
- 认真学习Java泛型、集合、多线程
- 认真学习Android的listview和recycleview
- 完成显示通知,并可直接在通知中操作开始和暂停,点击通知可以进入活动(6.0以上存在获取不了权限的问题)
- 用户可以添加下载任务进行多任务下载
- 完善了图标
- (今天算是坑巨多了,QAQ
- 申请不到通知权限
- 使用线程池管理后,下载结束无法被正常检测到,导致不显示已完成状态以及SQLite不能删除线程数据
- 无数小坑……
- 学会简单地使用adb辅助Debug
- 使用PS简单地处理图标
##10.7
- 实现了下载完成后点击按钮打开文件
- 添加下载进度、文件大小显示
- 简单地监听剪贴板
- 简单地检查URL是否合理、名字是否为空
- 下载结束无法被检测仍然没能解决(跳不出循环,很奇怪)
- 对Java语法和API不很清楚总是出bug
- 学习剪贴板时了解到了一些好用的系统服务
- 接触到了不同版本API产生的兼容性问题(也包括外观)
- 总的来说还是要加强基础的Java学习,才能搞好Android