-
怎么下载源码
查看全部 -
案例小结案例小结
查看全部 -
isExists
查看全部 -
getThreads
查看全部 -
updateThread
查看全部 -
deleteThread
查看全部 -
insertThread
查看全部 -
ThrewadDAO
查看全部 -
ThreadInfo
查看全部 -
FileInfo
查看全部 -
网络下载的关键点
查看全部 -
学习内容
查看全部 -
Activity是如何与Service进行交互
Activity中通过Intent传递参数给Service
Intent intent = new Intent(MainActivity.this,DownloadService.class);
intent.setAction(DownloadService.ACTION_START);
intent.putExtra("fileInfo",fileInfo);
startService(intent);
Service中onStartCommand方法接受Activity传来的参数
if(ACTION_START.equals(intent.getAction())){
FileInfo fileInfo = (FileInfo)intent.getSerializableExtra("fileInfo");
new InitThread(fileInfo).start(); //启动初始化线程
}else if(ACTION_STOP.equals(intent.getAction())){
FileInfo fileInfo = (FileInfo)intent.getSerializableExtra("fileInfo");
if(mTask != null){
mTask.isPause = true; //暂停
}
}
查看全部 -
好的查看全部
-
网络下载的关键点查看全部
-
多线程断点续传查看全部
-
案例思维导图查看全部
-
断点续传内容纲要查看全部
-
【习叙1】 通篇下来其实思路挺清晰的,只是有点难度,需要多看几遍才能了解。 整体实现思路是, 开始下载 -- Service接收到指令 -- 去初始化下载的文件:创建文件/获得文件长度。---初始化专门用于下载的类,下载任务类执行下载方法 --- 下载方法会先通过url找到数据库里面对应的线程数据,如果找不到会创建一条新的。---然后拿这条线程去开启一个专门用于下载的线程,里面会拿到这条线程数据的下载进度,然后给connection去设置下载范围,还有给raf去设置下载写入位置 --- 然后边下载边写入数据边更新UI。 暂停下载:Service接收到暂停指令,会把下载任务类的pause参数设置为ture,这样下载的线程会因此暂停下载,同时,会把当前的进度保存到下载数据里面去,以便日后续传。 下载完成:下载完成了以后,会删除数据库里面的下载数据,同时close掉raf,disconnected掉coon等等操作。 ----以上便是整个功能的实现逻辑---------- 意见:其实我不太明白,为什么要通过一个接口去定义下载数据的增删改查操作,然后给这个接口再安排一个实现类,再来实现相关逻辑。我觉得完全可以跳过接口这一环,直接定义一个操作数据库类的,来完成下载数据的操作,没必要多了接口这一重关卡吧。 ---------------- 这门课程学到的东西还是比较多的,学到的知识点将在【习叙2】里写一下。查看全部
-
mark查看全部
-
学习内容查看全部
-
创建DBHelper工具类查看全部
举报