-
怎么下載源碼
查看全部 -
案例小結案例小結
查看全部 -
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工具類查看全部
舉報