【StudyDownload】斷點續傳Demo

StudyDownload

StudyDownload項目地址:https://github.com/Double2hao/StudyDownload

此項目展示了斷點續傳功能的簡單實現,主要實現了以下功能:

  1. 支持下載中途暫定下載
  2. 將下載進度存儲到本地,重啓app後會從上次下載的位置開始下載
  3. 支持清除原有的數據

理論概述

  1. 本項目爲了讓項目更加簡單化,儘量避免使用其他非基礎知識。下載與文件的異步操作使用AsyncTask來實現,本地存儲使用SharedPreferences來實現。
  2. 斷點續傳的相關HTTP的理論已經有博主整理的較好了,對此方面沒有接觸過的讀者推薦看看:Android Okhttp 斷點續傳面試解析

項目拓展

此項目只是一個讓新手更好理解斷點續傳的Demo,要投入實際使用還有很多需要補充和實現的地方,具體的也是要看實際的使用場景,筆者此處僅例舉幾項可以拓展的方向,有興趣的讀者可以自己去了解:

  1. 文件的校驗機制。可以通過存儲路徑,文件大小等方式。
  2. 如果斷點續傳到一半,再次開始的時候發現服務端的文件變了,如果判斷與處理?
  3. 文件過期,或者說文件的更新機制。
  4. 線程池。如果有同時多個文件在斷點續傳,如何在線程上支持。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章