Picasso加載本地文件不顯示問題處理

最近在寫項(xiàng)目中如何設(shè)計(jì)圖片庫览效,隨便選擇了Glide(4.8.0)和Picasso(2.71828)作為切換對象游岳,然后在Picasso遇到了一些坑杠娱,記錄以下:
簡單說明以下:
Glide和Picasso在傳入圖片路徑的時(shí)候乏奥,大致都支持以下格式:

  • 網(wǎng)絡(luò)地址:如http://xxxxx.xxx.xxx/xxx.png
  • 本地文件:/sdcard/image/xxx.png
  • 本地文件的uri格式:file:////sdcard/image/xxx.png
  • File類型:new File("/sdcard/image/xxx.png")
  • 其他格式谅畅,如uri登渣、byte數(shù)組等等

以上格式傳入的時(shí)候在不同的手機(jī)版本中Glide都可以顯示出圖片來,但是在Picasso毡泻,我自己測試的
/sdcard/image/xxx.png胜茧、
file:////sdcard/image/xxx.png
new File("/sdcard/image/xxx.png")仇味、
Uri.parse("file:////sdcard/image/xxx.png")呻顽、
Uri.fromFile(file)
這幾種格式在華為meta10 pro手機(jī)上都無法顯示,只有網(wǎng)絡(luò)地址的可以顯示邪铲。
這個(gè)問題研究了半天芬位,各種網(wǎng)上查資料,大部分都說的是直接傳入/sdcard/image/xxx.png這種格式不能顯示带到,這個(gè)原因我是知道的昧碉,沒有說明為什么傳入file類型或者添加了file:////sdcard/image/xxx.png格式的也無法顯示,突然想到之前做相冊圖片裁剪時(shí)遇到的7.0以上uri安全問題揽惹,測試了一下果然如此被饿。解決方案如下:

public void showImage(Context context, ImageView imageView, String url) {
    Uri loadUri = null;
    if (url.startsWith("http")) {
        //網(wǎng)絡(luò)圖片
        loadUri = Uri.parse(url);
    } else {
        //本地文件
        if (url.startsWith("file://")) {
            //文件的方式
            if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N) {
                //Android 7.0系統(tǒng)開始 使用本地真實(shí)的Uri路徑不安全,使用FileProvider封裝共享Uri
                url = Uri.parse(url).getPath();
            }
        }
        File file = new File(url);
        if (file != null && file.exists()) {
            //本地文件
            if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N) {
                //Android 7.0系統(tǒng)開始 使用本地真實(shí)的Uri路徑不安全,使用FileProvider封裝共享Uri
                loadUri = FileProvider.getUriForFile(context, context.getPackageName() + ".fileprovider", file);
            } else {
                loadUri = Uri.fromFile(file);
            }
        } else {
            //可能是資源路徑的地址
            loadUri = Uri.parse(url);
        }
    }
    Picasso.get().load(loadUri).into(imageView);
}

雖然Picasso也挺好的,但是兩個(gè)用起來以及在兼容性搪搏、實(shí)用性上面狭握,自我感覺還是Glide使用者順手。(性能方面不做比較)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末疯溺,一起剝皮案震驚了整個(gè)濱河市论颅,隨后出現(xiàn)的幾起案子哎垦,更是在濱河造成了極大的恐慌,老刑警劉巖恃疯,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件漏设,死亡現(xiàn)場離奇詭異,居然都是意外死亡今妄,警方通過查閱死者的電腦和手機(jī)郑口,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盾鳞,“玉大人犬性,你說我怎么就攤上這事√诮觯” “怎么了乒裆?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長攒砖。 經(jīng)常有香客問我缸兔,道長日裙,這世上最難降的妖魔是什么吹艇? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮昂拂,結(jié)果婚禮上受神,老公的妹妹穿的比我還像新娘。我一直安慰自己格侯,他們只是感情好鼻听,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著联四,像睡著了一般撑碴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上朝墩,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天醉拓,我揣著相機(jī)與錄音,去河邊找鬼收苏。 笑死亿卤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鹿霸。 我是一名探鬼主播排吴,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼懦鼠!你這毒婦竟也來了钻哩?” 一聲冷哼從身側(cè)響起屹堰,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎街氢,沒想到半個(gè)月后双藕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡阳仔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年忧陪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片近范。...
    茶點(diǎn)故事閱讀 40,852評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡嘶摊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出评矩,到底是詐尸還是另有隱情叶堆,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布斥杜,位于F島的核電站虱颗,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蔗喂。R本人自食惡果不足惜忘渔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望缰儿。 院中可真熱鬧畦粮,春花似錦、人聲如沸乖阵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瞪浸。三九已至儒将,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間对蒲,已是汗流浹背钩蚊。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留齐蔽,地道東北人两疚。 一個(gè)月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像含滴,于是被迫代替她去往敵國和親诱渤。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評論 2 361

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

  • 【Android 庫 Glide】 引用 Android圖片加載框架最全解析(一)谈况,Glide的基本用法Andro...
    Rtia閱讀 5,456評論 0 22
  • 7.1 壓縮圖片 一勺美、基礎(chǔ)知識 1递胧、圖片的格式 jpg:最常見的圖片格式。色彩還原度比較好赡茸,可以支持適當(dāng)壓縮后保持...
    AndroidMaster閱讀 2,523評論 0 13
  • 這么久以來雖然經(jīng)常用到一些圖庫,但是自己從來沒有真正整理過我們使用過的這些東西有什么不同點(diǎn),我們?yōu)槭裁匆x擇這個(gè)圖...
    黑石ZB閱讀 3,728評論 1 16
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程缎脾,因...
    小菜c閱讀 6,449評論 0 17
  • 墨綠色的廣告招牌 城市快捷酒店 城市 快捷 目的一目了然 它矗立在火車站的對面 忙碌的旅人一抬頭就能看見的位...
    十二里夏天閱讀 572評論 2 7