編輯:Android編程入門
這個月接到一個項目,要寫一個像360助手一樣的對於軟件管理的APP;當中,遇到了一個問題:多線程斷點下載
這個 。因為之前沒有寫過這方面的應用功能。所以,不免要自學了。然後就在各個昂站上收索並整理了一下。
跟大家分享一下,也能加深我在這方面的理解。
什麼是多線程下載?
多線程下載事實上就是迅雷,BT一些下載原理,通過多個線程同一時候和server連接,那麼你就能夠搾取到較高的帶寬了,大致做法是將文件分割成N塊,每塊交給單獨一個線程去下載,各自下載完畢後將文件塊組合成一個文件,程序上要完畢做分割和組裝的小算法
什麼是斷點續傳?
斷點續傳,就是當我們下載未結束時候,退出保存下載進度,當下次打開繼續下載的時接著上次的進度繼續下載,不用每次下載都又一次開始,那麼有關斷點續傳的原理和實現手段。
怎麼完畢多線程斷點續傳?
將兩者合二為一須要程序記住每一個文件塊的下載進度,並保存入庫,當下載程序啟動時候你須要推斷程序是否已經下載過該文件,並取出各個文件塊的保存記錄,換算出下載進度繼續下載,在這裡你須要掌握java多線程的基本知識,handler的使用,以及集合,算法,文件操作等基本技能,同一時候還要解決sqlite數據庫的同步問題,由於它是不太怎麼支持多線程操作的,控制不好常常會出現庫被鎖定的異常,同一時候在android2.3以後就不能activity中直接操作http,否則你將收到系統送上的NetworkOnMainThreadException異常,在UI體驗上一定記住要使用異步完畢。
那麼,了解過這些之後來看一下源代碼就會拉結了。。
。。。
。
先看一下。效果圖:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
至於那些部分代碼,我就不在這裡貼了;我認為還是直接看源代碼的方便。
這裡是源代碼的下載網址。點擊就可以下載
Android UI基礎之五大布局 Android的界面是有布局和組件協同完成的,布局好比是建築裡的框架,而組件則相當於建築裡的磚瓦。組件按照布局
1. HelloWorld項目Application Name : 應用名稱,展示在應用市場和設置中應用列表裡面Project N
代碼沒有優化,暫時先實現結果package download;import java.io.File;import java.io.InputStream;import
本文介紹 Android 界面開發中最基本的四種布局LinearLayout、RelativeLayout、FrameLayout、TableLayout 的使用方法及這