在我們開發(fā)應(yīng)用的過程中,并不是所有情況下都請(qǐng)求圖片的URL或者加載本地圖片,有時(shí)我們需要加載Base64編碼的圖片。這種情況出現(xiàn)在服務(wù)端需要?jiǎng)討B(tài)生成的圖片,比如:
網(wǎng)站設(shè)計(jì)、做網(wǎng)站的關(guān)注點(diǎn)不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒有做好網(wǎng)站,給創(chuàng)新互聯(lián)一個(gè)展示的機(jī)會(huì)來證明自己,這并不會(huì)花費(fèi)您太多時(shí)間,或許會(huì)給您帶來新的靈感和驚喜。面向用戶友好,注重用戶體驗(yàn),一切以用戶為中心。
這些應(yīng)用場(chǎng)景有個(gè)共同點(diǎn)就是,這些圖片都是由服務(wù)器動(dòng)態(tài)生成,并不需要生成后保存成文件再返回給客戶端。
Android中ImageView加載Base64圖片其實(shí)非常簡單,并不需要引入第三方庫,方法如下:
import android.util.Base64;
# 代碼片段
String base64 = "data:image/png;base64......"
byte[] decodedString = Base64.decode(base64, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
imageView.setImageBitmap(decodedByte);
這樣就可以將Base64的圖片加載到ImageView中了。其實(shí)原理很簡單,就是先把Base64編碼字符串解碼成Bitmap,然后再講Bitmap設(shè)置到ImageView中。
如有更多疑問,請(qǐng)參考我的其它Android相關(guān)博客:我的博客地址