SmartImageView的使用

简介: 对于Android智能图像查看 SmartImageView是一个简易替换为Android标准的ImageView这还可以让图像从URL或用户的联系人地址簿加载。图片被缓存到内存和磁盘的超快速装载。 产品特点 插入式替换的ImageView 从URL加载图像 从手机的联系人通讯录载入...


对于Android智能图像查看

SmartImageView是一个简易替换为Android标准的ImageView这还可以让图像从URL或用户的联系人地址簿加载。图片被缓存到内存和磁盘的超快速装载。

产品特点

    • 插入式替换的ImageView
    • 从URL加载图像
    • 从手机的联系人通讯录载入图片
    • 图像的异步加载,加载发生在UI线程以外
    • 图片被缓存到内存和磁盘的超快速装载
    • SmartImage技术类很容易扩展到其他来源的加载
    • http://blog.sina.com.cn/s/blog_691051e10101b4py.html

      SmartImageView的设计初衷是来取代Android自带的ImgageView组件,另外它还提供了一些附加功能,如:

      • 支持通过URL来加载图片;
      • 支持从电话簿中加载图片;
      • 异步加载图片;
      • 图片被缓存在内存,以便下次快速加载显示;
      • SmartImageView类可以被很容易扩展成对其它资源的调用;

      作者主页:http://loopj.com/android-smart-image-view/

      下载提供的jar包,该项目是开源的,也可以去github下载源码使用
      在做一些需要从网上获取图片的APP时,就难免要做很多处理。
      这个项目就是针对这些做了很多处理。
      XML添加一个控件
       <com.loopj.android.image.SmartImageView android:id="@+id/my_image" /> 
      获取引用
       SmartImageView myImage = (SmartImageView) this.findViewById(R.id.my_image); 
       获取网络图片,这个过程本身就是异步。不必再进行处理,也不必担心线程阻塞 
       网络获取到的图片都进行了缓存的处理。会在程序的cache目录下建/web_image_cache/,图片存在这里
       上次使用的时候,如果缓存图片已经存在,则不再从网络获取图片
       myImage.setImageUrl("http://www.awesomeimages.com/myawesomeimage.jpg"); 
       有一些功能,作者主页并没有说明,但是查看源码可以看到 
       先看.setImageUrl都有什么方法 
       1、最普通的一个,直接设置图片地址 
           // Helpers to set image by URL 
           public void setImageUrl(String url) {
               setImage(new WebImage(url));
           }
       2、有一个接口,完成下载的时候调用
           public void setImageUrl(String url, SmartImageTask.OnCompleteListener completeListener) {
               setImage(new WebImage(url), completeListener);
           }
       3、从字面意思可以看出,是一个备用的资源。如果从网络获取图片失败,则使用备用资源
           public void setImageUrl(String url, final Integer fallbackResource) {
               setImage(new WebImage(url), fallbackResource);
           }
       4、类似上面
           public void setImageUrl(String url, final Integer fallbackResource, SmartImageTask.OnCompleteListener completeListener) {
               setImage(new WebImage(url), fallbackResource, completeListener);
           }
       5、多了一个loadingResource,就是正在下载的时候展示的图片
           public void setImageUrl(String url, final Integer fallbackResource, final Integer loadingResource) { 
               setImage(new WebImage(url), fallbackResource, loadingResource);
           }
       6、类似上面
           public void setImageUrl(String url, final Integer fallbackResource, final Integer loadingResource, SmartImageTask.OnCompleteListener completeListener) {
               setImage(new WebImage(url), fallbackResource, loadingResource, completeListener);
           }
      SmartImageView确实很方便,能解决大部分问题。有不符合自己要求的地方,还可以根据源码去修改。感谢作者为我们提供这样的工具

       

相关文章
|
Java Android开发 C++
【Android NDK 开发】Android Studio 使用 CMake 导入动态库 ( 构建脚本路径配置 | 指定动态库查找路径 | 链接动态库 )(二)
【Android NDK 开发】Android Studio 使用 CMake 导入动态库 ( 构建脚本路径配置 | 指定动态库查找路径 | 链接动态库 )(二)
476 0
【Android NDK 开发】Android Studio 使用 CMake 导入动态库 ( 构建脚本路径配置 | 指定动态库查找路径 | 链接动态库 )(二)
|
11月前
|
缓存 物联网 定位技术
Android引入.so文件的正确姿势以及加载指定CPU架构的so库(android is 32-bit instead of 64-bit)
Android引入.so文件的正确姿势以及加载指定CPU架构的so库(android is 32-bit instead of 64-bit)
|
11月前
|
机器学习/深度学习 数据采集 算法
用PyTorch构建基于卷积神经网络的手写数字识别模型
用PyTorch构建基于卷积神经网络的手写数字识别模型
202 0
|
人工智能
408王道计算机组成原理强化——中央处理器及大题解构(下)
408王道计算机组成原理强化——中央处理器及大题解构
500 1
408王道计算机组成原理强化——中央处理器及大题解构(下)
|
数据库 Android开发 数据库管理
【Android 逆向】使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )
【Android 逆向】使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )
660 0
【Android 逆向】使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )
|
JavaScript 网络协议 前端开发
Buffer 类型介绍|学习笔记
快速学习 Buffer 类型介绍
498 0
Buffer 类型介绍|学习笔记
|
Java 数据库连接 Maven
【Spring常见错误】idea添加@Data注解后无getter&setter提示
📋📋 精彩摘要:MyBatis 核心配置文件(xxxConfig.xml),该文件配置了MyBatis的一些全局信息,,包含数据库连接信息和MyBatis运行时所需的各种特性,以及设置和响应MyBatis行为的一些属性。本文将深入浅出的介绍MyBatis核心配置文件中常用的标签配置。
371 0
|
SQL XML Java
Spring中使用JdbcTemplate操作数据库(增删改查以及批量操作)附带源码解释【超详细】
Spring中使用JdbcTemplate操作数据库(增删改查以及批量操作)附带源码解释【超详细】
Spring中使用JdbcTemplate操作数据库(增删改查以及批量操作)附带源码解释【超详细】
自动化检测 Android APP 非 SDK 接口使用,防止非预期异常发生!
自动化检测 Android APP 非 SDK 接口使用,防止非预期异常发生!
212 0
自动化检测 Android APP 非 SDK 接口使用,防止非预期异常发生!