[Android執行個體] Android之斷點續傳下載,android執行個體

來源:互聯網
上載者:User

[Android執行個體] Android之斷點續傳下載,android執行個體

在我們做開發的時候經常遇到的就是下載了,現在下載的方法有很多很多,那麼怎麼做到斷點續傳下載呢!很多人都頭疼這個問題,如果我們沒有很好的邏輯真不是很容易解決啊。我參考了一下前輩們的資料了整理了一個項目,能實現多個檔案的同時下載。
斷點續傳下載,顧名思義,那就是我們在一次下載未結束時,退出下載,第二次下載時會接著第一次下載的進度繼續下載。那麼怎麼記錄第一次下載的資料呢,這裡肯定就要用到資料庫了。下面就是我建立資料庫的一個SQLiteOpenHelper類。用來首次運行時建立資料庫。
DBHelper.java

複製代碼

下面看主介面的布局,在這裡,我只設計了一個ListView來顯示下載的音樂的名稱,和一個開始下載按鈕和一個暫停按鈕。
布局檔案如下:
main.xml:

複製代碼

list_item.xml:

複製代碼

我們要定義一個記錄在下載時各個時期的資料的類,這裡我建立了一個DownloadInfo類來記錄。代碼如下:
DownloadInfo:

複製代碼

在下載時,我們有進度條來顯示進度,怎麼確定進度條的進度,大小和起始位置呢?這裡我定義了一個LoadInfo類來記錄下載器詳細資料。代碼如下:
LoadInfo:

複製代碼

下面是最最重要的一步,那就是定義一個下載器來進行下載了,這裡我就不多說,具體解釋在代碼中都有註解,供大家研究參考。
Downloader:

複製代碼

在這邊下載器類的定義中,我們用到了許多關於進行資料庫操作的方法,這裡我定義了一個資料庫工具類,來提供這些方法,代碼如下:
Dao:

複製代碼

下面的是程式的主程式,其他的不說了,直接上代碼:

複製代碼

最後我們需要在android Manifest.xml中添加這兩個許可權一個是訪問internet的許可權,另一個是寫外存的許可權。

複製代碼

最後啟動並執行:


萬事俱備只欠東風啦!哈哈,我需要在我的web工程裡放幾個音樂檔案。

下載後得到的檔案可在sdcard下面找到!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.