接口返回数据为Base64编码格式字符串,然后将该字符串转成Bitmap在ImageView控件上显示一般用这种的方式
ImageView iv;//显示的控件
String base64="data:image/jpeg;base64,/9j/4AAQSkZJRgABA..."; //base64格式字符串
byte[] data = Base64.decode(base64, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length, null);
iv.setImageBitmap(bitmap);
但是,我们会发现bitmap返回值为null,图片无法加载。
解决办法就是将base64编码格式","之前的字符串都去掉,如下:
ImageView iv;//显示的控件
String base64="data:image/jpeg;base64,/9j/4AAQSkZJRgABA..."; //base64格式字符串
base64 = base64.replace("data:image/jpeg;base64,", "");//添加该行代码。png格式也是对应的替换为空。
byte[] data = Base64.decode(base64, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length, null);
iv.setImageBitmap(bitmap);