Android开发 - ImageView加载Base64编码的图片
在我们开发应用的过程中,并不是所有情况下都请求图片的URL或者加载本地图片,有时我们需要加载Base64编码的图片。这种情况出现在服务端需要动态生成的图片,比如:
- 二维码
- 图形验证码
- …
这些应用场景有个共同点就是,这些图片都是由服务器动态生成,并不需要生成后保存成文件再返回给客户端。
Android中ImageView加载Base64图片其实非常简单,并不需要引入第三方库,方法如下:
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中了。其实原理很简单,就是先把Base64编码字符串解码成Bitmap,然后再讲Bitmap设置到ImageView中。
如有更多疑问,请参考我的其它Android相关博客:我的博客地址
Android开发 - ImageView加载Base64编码的图片相关推荐
- 浏览器是直接加载二进制图片更快还是加载base64编码的图片更快?
问题对人有帮助,内容完整,我也想知道答案0问题没有实际价值,缺少关键内容,没有改进余地 浏览器是直接加载二进制图片更快还是加载base64编码的图片更快?哪个效率更高? 例如: <img src ...
- Android开发解决加载图片OOM问题(非常全面 兼顾4 0以下系统)(by 星空武哥)
转载请标明:http://blog.csdn.net/lsyz0021/article/details/51295402 我们项目中经常会加载图片,有时候如果加载图片过多的话,小则导致程序很卡,重则O ...
- Android 自定义ImageView加载图片
自定义imageview功能: 可以实现设置图片显示的时候,依据本身的比例进行图片的缩放 加载图片效果: 使用ImageLoader来加载 图片: 首先将ImageLoader的jar包关联到项目中 ...
- Android Drawable来加载网络上的图片
Drawable类中提供了一个静态方法可以直接添加网络上的图片 Drawable.createFromStream( new URL(img_str_url).openStream(),"s ...
- Android开发笔记(十)常用的图片加工操作
APP开发自然少不了各种图片的加工处理,虽然说加工图片是美工干的活,但是码农会些简单的操作总归是好事.一些简单的加工如缩放.旋转.裁剪.格式转换,使用ACDSee就够用了,不过有些稍微复杂的操作得借助 ...
- android 图片变量,Android开发实现ImageView加载摄像头拍摄的大图功能
本文实例讲述了Android开发实现ImageView加载摄像头拍摄的大图功能.分享给大家供大家参考,具体如下: 这个方法是从官方demo中摘录的,在此记录学习. 权限 android:name=&q ...
- android 加载网络bitmap图片 oom 简书_Android常见问题--ImageView加载图片OOM
开发中给ImageView加载一个高质量图片时,APP抛出了"Canvas: trying to draw too large(840253440bytes) bitmap."的异 ...
- android imageview 设置网络图片,ImageView加载网络图片
android网络加载图片框架Android-Universal-Image-Loader功能非常强大,其开源地址https://github.com/nostra13/Android-Univers ...
- android 实现异步加载图片,Android中ImageView异步加载图片类
本源码是从网络找到经修改以方便直接调用感觉用着还可以 首先在项目中添加一个专门加载图片的类AsyncImageLoaderpackage com.demo.core; import java.io.I ...
最新文章
- C#中怎样将Listlt;自己定义gt;转为Json格式 及相关函数-DataContractJsonSerializer
- 网站优化该做好哪些细节才能更有力的吸引蜘蛛?
- netty 5 alph1源码分析(服务端创建过程)
- 左右无缝轮播图的实现
- tl wn322g linux驱动下载,TL-WN322G+ 2.0_WN422G+ 2.0驱动程序
- 【java 类加载的深入研究1】loadClass()的研究
- 提交自己开发的MR作业到YARN上运行的步骤
- iOS6新特征:UICollectionView介绍
- web开发项目,web前端CSS全局样式,面试必问
- 物联网思维导图_物联网将如何改变我们的思维方式
- centos系统 查看当前python执行的进程
- 一个简单的小程序demo
- rapidminer进行关联分析、分类预测、聚类分析
- mouseenter鼠标事件
- 手机不能打电话没有信号无服务器,手机信号故障排除方法
- word在任意页开始添加页码
- Python学习笔记 使用matplotlib创建Gif动图
- S3C2440 SDRAM内存驱动
- eclipse Helio项目简介
- The 2020 ICPC Asia Macau Regional Contest
热门文章
- IntelliJ IDEA 设置Output (输出窗口)窗口字体大小
- cocos2dx实现翻书效果。
- R12.2.6 installation failed with - Unable to rename database
- ECMAScript 发展历史
- MySql避免重复插入记录方法(ignore,Replace,ON DUPLICATE KEY UPDATE)
- Nginx启动报错误unlink() “nginx.pid” failed (2: No such file or directory)
- android点滴之PendingIntent的使用
- codevs1287 矩阵乘法
- Java基础之synchronized的讲解
- Oracle游标使用大全