【譯】集成OkHttp 3作為網(wǎng)絡(luò)棧

Jake Wharton的OkHttp3下載器

Jake Wharton已經(jīng)為Picasso發(fā)布了一個(gè)OkHttp3的下載器旺韭。它在OkHttp3的新架構(gòu)環(huán)境下纯命,使其兼容至Picasso2的網(wǎng)絡(luò)實(shí)現(xiàn)。讓我們一起看看蟀俊,并把它集成進(jìn)來吧灵寺。

幸運(yùn)的是诫尽,它提供了一個(gè)Gradle依賴。因此,你只需將下面這段個(gè)代碼添加至build.gradle中涛救,然后同步工程即可:

compile 'com.jakewharton.picasso:picasso2-okhttp3-downloader:1.0.2'  

設(shè)置OkHttp 3作為Picasso的下載器

下一步要做的就是設(shè)置OkHttp 3作為Picasso的下載器畏邢。首先,創(chuàng)建OkHttp以及OkHttp 3的下載器:

okhttp3.OkHttpClient okHttp3Client = new okhttp3.OkHttpClient();  
OkHttp3Downloader okHttp3Downloader = new OkHttp3Downloader(okHttp3Client);  

其次检吆,將這個(gè)下載器添加到Picasso實(shí)例中舒萎。我們使用Picasso.Builder來自定義Picasso實(shí)例。如果你想了解Picasso.Builder蹭沛,可以翻閱之前的博客文章臂寝。

Picasso picasso = new Picasso.Builder(context)  
        .downloader(new CustomOkHttp3Downloader(client))
        .build();

第三,也是最后一步摊灭,使用我們新創(chuàng)建的Picasso實(shí)例去加載圖像:

String internetUrl = "http://i.imgur.com/DvpvklR.png";  
picasso  
        .with(context)
        .load(internetUrl)
        .into(imageView1);

就這樣咆贬,我們達(dá)成了目標(biāo),圖像將通過OkHttp 3加載帚呼。 \o/

設(shè)置全局Picasso實(shí)例的下載器

現(xiàn)在你可能會(huì)問掏缎,難道每一次都需要新建一個(gè)實(shí)例去加載圖像嗎?當(dāng)然不用煤杀,我們?cè)谥敖榻BPicasso.Builder文章中介紹過眷蜈,你可以設(shè)置一個(gè)全局的Picasso實(shí)例:

// set the global instance to use this Picasso object
// all following Picasso (with Picasso.with(Context context) requests will use this Picasso object
// you can only use the setSingletonInstance() method once!
try {  
    Picasso.setSingletonInstance(picasso);
} catch (IllegalStateException ignored) {
    // Picasso instance was already set
    // cannot set it after Picasso.with(Context) was already in use
}

之后的所有請(qǐng)求,都會(huì)復(fù)用同一個(gè)Picasso實(shí)例怜珍。并且端蛆,整個(gè)應(yīng)用都會(huì)使用OkHttp 3加載圖像。

自定義OkHttp3Downloader

這個(gè)集成庫(kù)的核心僅有一個(gè)OkHttp3Downloader類酥泛。它圍繞OkHttp 3實(shí)現(xiàn)今豆。如果你不想像我們上面展示的那樣,添加gradle依賴柔袁,而且又不得不需要定制OkHttp 3的包裝類呆躲,你完全可以從Jake的倉(cāng)庫(kù)中復(fù)制這個(gè)類。

假設(shè)你已經(jīng)自定義了CustomOkHttp3Downloader類捶索,實(shí)現(xiàn)了Downloader接口插掂,并遵循了最初的設(shè)計(jì)。你可以使用同樣的方式腥例,添加它作為網(wǎng)絡(luò)加載棧:

okhttp3.OkHttpClient client = new okhttp3.OkHttpClient();  
Picasso picasso = new Picasso.Builder(context)  
        .downloader(new CustomOkHttp3Downloader(client))
        .build();

String internetUrl = "http://i.imgur.com/DvpvklR.png";  
picasso  
        .with(context)
        .load(internetUrl)
        .into(imageView2);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末辅甥,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子燎竖,更是在濱河造成了極大的恐慌璃弄,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件构回,死亡現(xiàn)場(chǎng)離奇詭異夏块,居然都是意外死亡疏咐,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門脐供,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浑塞,“玉大人,你說我怎么就攤上這事政己∽煤荆” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵匹颤,是天一觀的道長(zhǎng)仅孩。 經(jīng)常有香客問我,道長(zhǎng)印蓖,這世上最難降的妖魔是什么辽慕? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮赦肃,結(jié)果婚禮上溅蛉,老公的妹妹穿的比我還像新娘。我一直安慰自己他宛,他們只是感情好船侧,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著厅各,像睡著了一般镜撩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上队塘,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天袁梗,我揣著相機(jī)與錄音,去河邊找鬼憔古。 笑死遮怜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鸿市。 我是一名探鬼主播锯梁,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼焰情!你這毒婦竟也來了陌凳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤内舟,失蹤者是張志新(化名)和其女友劉穎合敦,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谒获,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蛤肌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了批狱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片裸准。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖赔硫,靈堂內(nèi)的尸體忽然破棺而出炒俱,到底是詐尸還是另有隱情,我是刑警寧澤爪膊,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布权悟,位于F島的核電站,受9級(jí)特大地震影響推盛,放射性物質(zhì)發(fā)生泄漏峦阁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一耘成、第九天 我趴在偏房一處隱蔽的房頂上張望榔昔。 院中可真熱鬧,春花似錦瘪菌、人聲如沸撒会。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)诵肛。三九已至,卻和暖如春默穴,著一層夾襖步出監(jiān)牢的瞬間怔檩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工壁顶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留珠洗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓若专,卻偏偏與公主長(zhǎng)得像许蓖,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子调衰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,520評(píng)論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理膊爪,服務(wù)發(fā)現(xiàn),斷路器嚎莉,智...
    卡卡羅2017閱讀 134,600評(píng)論 18 139
  • 你是個(gè)冰冷的建筑 我透過青磚撫摸你歷史的體溫 城墻上刻滿了古人今人的刀痕 當(dāng)你臥睡的青嶺變的蒼黃 當(dāng)北風(fēng)變得蒼勁 ...
    很高很瘦閱讀 351評(píng)論 0 0
  • 今天月亮的二元對(duì)立和藍(lán)鷹俯瞰的視野趋箩,引導(dǎo)我們用覺察和覺知清空頭腦的垃圾赃额、跳脫二元對(duì)立加派,看到我們真正想要成長(zhǎng)為的自己...
    艾人家家Aileen_LiLi閱讀 230評(píng)論 0 0
  • 聽一首歌 單曲循環(huán)到淚流滿面 歌詞寫盡深藏的心事 曲調(diào)穿透未盡的滄桑 蜷縮著靈魂 只為逃避那未知的傷 去忍受現(xiàn)在這...
    心心稀語(yǔ)閱讀 124評(píng)論 0 0