源碼下載:
github: https://github.com/103style/Download.
csdn: http://download.csdn.net/download/lxk_1993/9511182
github: https://github.com/103style/Download.
csdn: http://download.csdn.net/download/lxk_1993/9511182
2016-05-05
說幾個注意點和改進點
生成list的 mFileList的時候 注意添加的fileinfo id要和position一致 不然會錯亂(這點不太好 比如加入刪除任務功能后會比較麻煩)
下載 停止按鈕注意不能多次點擊 可以在代碼中進行限制
退出aty時 線程仍然會下載一段時間且不會保存 可以在service的ondestory方法中對map mtasks遍歷 改ispaused為true
刪除未完成下載文件后 數(shù)據(jù)庫中未刪除,會導致下載不完整 ??梢栽趕ervice中初始化時判斷文件是否存在
生成list的 mFileList的時候 注意添加的fileinfo id要和position一致 不然會錯亂(這點不太好 比如加入刪除任務功能后會比較麻煩)
下載 停止按鈕注意不能多次點擊 可以在代碼中進行限制
退出aty時 線程仍然會下載一段時間且不會保存 可以在service的ondestory方法中對map mtasks遍歷 改ispaused為true
刪除未完成下載文件后 數(shù)據(jù)庫中未刪除,會導致下載不完整 ??梢栽趕ervice中初始化時判斷文件是否存在
2016-04-09
最新回答 / 依然丶丶丶
如果服務已經(jīng)存在,再次開啟服務是不會創(chuàng)建新的實例的,只會調(diào)用onStartCommand方法,(視頻中是繼續(xù)下載),當我們完成一個完整的動作或任務后是可以停止服務的,以為此時服務已經(jīng)沒有存在的意義,當我們有新的任務可以重新開啟一個。服務是Android四大組件之一,和activity是等級的,通俗點說,服務就是沒有UI界面的activity,如果服務里沒有代碼在運行,服務開著也是沒有什么開銷的,幾乎可以忽略不計。
2016-03-29
listview建議用局部更新,就是在downloadTask里寫一個handler,調(diào)用getter,setter方法,然后再listviewadapter里new handler并通過sethandler()傳過去,然后再下載的進度與id通過handler發(fā)送過去,然后進行局部更新,還有很多小伙伴反應,下載進度不對,我用的也是老師的百分比方法,發(fā)現(xiàn)最后會變成負數(shù),于是我就把每次獲取到的length傳遞回去,通過holder.mypp.incrementProgressBy(length);可以正確顯示進度條,最后建議大家學完這個還是去看看框架吧,做起來相對簡單一點
2016-03-17
最新回答 / 觸手摸不到的溫柔
當然會有問題的,好比一個用戶里有100元錢,同一時間段我在銀行取100,你用支付寶轉(zhuǎn)100,如果不加鎖,銀行就相當于執(zhí)行了200的消費服務。
2016-03-13
最新回答 / 趟水過河
demo中進度值的設定有兩個: 文件的下載進度 和 當前線程的下載進度, ? 通過廣播發(fā)送的是文件的下載進度值,單個線程的進度值是用來記錄此線程的下載斷點的。 ?每個線程是都會發(fā)送廣播的,畢竟每個線程的更新,都表示著文件的下載進度的更新。
2016-03-09