OkHttp實(shí)現(xiàn)多文件斷點(diǎn)下載

作者簡介 原創(chuàng)微信公眾號(hào)郭霖 WeChat ID: guolin_blog

終于又到周五了,漫長的一周即將結(jié)束桑驱,提前祝大家周末愉快蕾各!

本篇是馬云飛第三篇投稿,分享了他是如何使用OkHttp實(shí)現(xiàn)多文件斷點(diǎn)下載的尾菇,希望能夠幫助到大家。

馬云飛的博客地址:

http://blog.csdn.net/sw950729

正文

話不多說囚枪。這次我主要介紹下okhttp如何實(shí)現(xiàn)多文件斷點(diǎn)下載错沽。參考文章:

http://blog.csdn.net/KevinsCSDN/article/details/51934274

首先,在這邊闡述下我做的過程中所遇到的問題:

如何存儲(chǔ)url對(duì)應(yīng)的當(dāng)前長度以及總長度

如何實(shí)現(xiàn)暫停以及續(xù)傳操作

如何用一個(gè)info對(duì)象實(shí)現(xiàn)多文件的下載

response.body.contentlength與實(shí)際長度不一樣眶拉。(例如我獲取的長度是5.5M但他的實(shí)際長度是6.7M)

如何存儲(chǔ)當(dāng)前長度以及總長度

我在網(wǎng)上看到很多demo對(duì)于這塊是用SQLite實(shí)現(xiàn),我覺得完全可以Shareperference來存儲(chǔ)憔儿,通過 url 來存儲(chǔ)對(duì)應(yīng)的當(dāng)前長度總長度忆植,有人回說 Shareperference 不是只能一個(gè)建對(duì)應(yīng)一個(gè)值么,兩個(gè)怎么解決谒臼。我們可以通過MD5加密的url來存儲(chǔ)當(dāng)前進(jìn)度朝刊,通過MD2加密來存儲(chǔ)總進(jìn)度

如何實(shí)現(xiàn)暫停以及續(xù)傳操作

我們可以通過 okhttp 自帶的攔截器來實(shí)現(xiàn)其效果蜈缤,具體代碼如下:

如何用一個(gè)info對(duì)象實(shí)現(xiàn)多文件的下載

其實(shí)在前面我也說了拾氓。用 Shareperference 來實(shí)現(xiàn),具體怎么說的底哥。你的url咙鞍,存儲(chǔ)路徑每次都是需要傳的房官,但是為了防止進(jìn)度沖突(例:明明的A的進(jìn)度,下載B的時(shí)候卻用的A的進(jìn)度)续滋。所以通過傳入的url來用 Shareperference 得到他存儲(chǔ)的 當(dāng)前長度 與 總長度 來解決翰守。

response.body.contentlength 與實(shí)際長度不一樣。

其實(shí)疲酌。蜡峰。。我也不知道朗恳。湿颅。百度了好久。得到的答案是在HTTP協(xié)議中粥诫,消息實(shí)體長度和消息實(shí)體的傳輸長度是有區(qū)別油航,比如說gzip壓縮下,消息實(shí)體長度是壓縮前的長度臀脏,消息實(shí)體的傳輸長度是gzip壓縮后的長度劝堪。還有種說法還有種說法是服務(wù)器限制問題。不解揉稚∶肜玻總之會(huì)導(dǎo)致獲取進(jìn)度的時(shí)候,進(jìn)度值是大于100的搀玖。余境。。

大致的問題和解決方法已經(jīng)說明了灌诅。首先芳来,我們先來看下效果圖。


最后上源碼猜拾,相信你看懂了上面的思路即舌。對(duì)于源碼的理解就不是很難了:

關(guān)于 httpdownloadbean:

就是這幾個(gè)數(shù)據(jù),通過 set 和 get 來設(shè)置和獲取挎袜。

ShareperferenceUtils 是關(guān)于 Shareperference 的工具類顽聂。filesupport 是用來創(chuàng)建文件的。byteutils 可以不必理會(huì)盯仪。

完紊搪。。全景。耀石。。爸黄。滞伟。揭鳞。。诗良。汹桦。。鉴裹。舞骆。。径荔。督禽。。总处。狈惫。。

文章原創(chuàng)作者GuoLin 書籍推薦

郭林大神原創(chuàng)android 書籍:《第一行代碼 android》

淘寶鏈接: https://s.click.taobao.com/t?e=m%3D2%26s%3DgKUfuKdAZKocQipKwQzePOeEDrYVVa64K7Vc7tFgwiHjf2vlNIV67p2n%2BQBNMyE6Rku8%2Bpj6eJall3bs%2B3NRhNHnsKI%2BqxhyM0iVZhTFBom4YIorMPnmg8G0g2OJi%2FzmXHfenomYtn5EW9vzeG8LzfPUwktUBEmkxg5p7bh%2BFbQ%3D&pvid=10_106.6.161.154_3367_1490163222155

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鹦马,一起剝皮案震驚了整個(gè)濱河市胧谈,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌荸频,老刑警劉巖菱肖,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異旭从,居然都是意外死亡稳强,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門和悦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來退疫,“玉大人,你說我怎么就攤上這事鸽素“保” “怎么了?”我有些...
    開封第一講書人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵馍忽,是天一觀的道長棒坏。 經(jīng)常有香客問我,道長舵匾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任谁不,我火速辦了婚禮坐梯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘刹帕。我一直安慰自己吵血,他們只是感情好谎替,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蹋辅,像睡著了一般钱贯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上侦另,一...
    開封第一講書人閱讀 52,246評(píng)論 1 308
  • 那天秩命,我揣著相機(jī)與錄音,去河邊找鬼褒傅。 笑死弃锐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的殿托。 我是一名探鬼主播霹菊,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼支竹!你這毒婦竟也來了旋廷?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤礼搁,失蹤者是張志新(化名)和其女友劉穎饶碘,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體叹坦,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡熊镣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年溅固,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了签孔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡础淤,死狀恐怖莹捡,靈堂內(nèi)的尸體忽然破棺而出鬼吵,到底是詐尸還是另有隱情,我是刑警寧澤篮赢,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布齿椅,位于F島的核電站,受9級(jí)特大地震影響启泣,放射性物質(zhì)發(fā)生泄漏涣脚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一寥茫、第九天 我趴在偏房一處隱蔽的房頂上張望遣蚀。 院中可真熱鬧,春花似錦、人聲如沸芭梯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽玖喘。三九已至甩牺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間累奈,已是汗流浹背贬派。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留费尽,地道東北人赠群。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像旱幼,于是被迫代替她去往敵國和親查描。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容