对于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确实很方便,能解决大部分问题。有不符合自己要求的地方,还可以根据源码去修改。感谢作者为我们提供这样的工具

SmartImageView的使用的更多相关文章

  1. SmartImageView

    == public class SmartImageView extends ImageView { public SmartImageView(Context context) { super(co ...

  2. 无废话Android之smartimageview使用、android多线程下载、显式意图激活另外一个activity,检查网络是否可用定位到网络的位置、隐式意图激活另外一个activity、隐式意图的配置,自定义隐式意图、在不同activity之间数据传递(5)

    1.smartimageview使用 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&q ...

  3. smartimageview使用与实现原理

    一.从网络中获取图片的步骤 从网络中获取图片是一个耗时耗资源耗费用户流量的操作,故我们在第一次获取到网络中图片的时候会将其缓存到本地(内存或SD卡),以保证下次再需要这张图片时,可以从本地加载到. 二 ...

  4. Android SmartImageView框架的简单实用

    特征:根据URL地址装载图像:支持装载通讯录中的图像:支持异步装载:支持缓存: 这个是作者的项目主页,有使用方法.http://loopj.com/android-smart-image-view/ ...

  5. Android(java)学习笔记206:利用开源SmartImageView优化网易新闻RSS客户端

    1.我们自己编写的SmartImageView会有很多漏洞,但是我们幸运的可以在网上利用开源项目的,开源项目中有很多成熟的代码,比如SmartImageView都编写的很成熟的 国内我们经常用到htt ...

  6. Android(java)学习笔记204:自定义SmartImageView(继承自ImageView,扩展功能为自动获取网络路径图片)

    1.有时候Android系统配置的UI控件,不能满足我们的需求,Android开发做到了一定程度,多少都会用到自定义控件,一方面是更加灵活,另一方面在大数据量的情况下自定义控件的效率比写布局文件更高. ...

  7. 开源框架SmartImageView的使用

    1.SmartImageView为一个网络图片框架,可以将一个网络URL的图片展示在UI上 2.SmartImageView使用 @1Github上下载源代码 @2拷贝原码到工程src下 @3布局配置 ...

  8. 11_Android中HttpClient的应用,读取网络xml及xml解析流,Handler的应用,LayoutInflater的使用,SmartImageView的使用

     1 所需的web项目结构如下: 2 new.xml的文件内容如下: <?xml version="1.0" encoding="UTF-8" ?&g ...

  9. [android] smartimageview&常见的开源代码

    github上搜索开源框架android-smarty-imageview,下载压缩包,拷贝我们之前写的网络图片查看器布局. 解压下载包里面的数据,找到java源码拷贝到我们的项目里,这时我们可以看到 ...

随机推荐

  1. Oracle 表空间和用户权限管理【转】

    一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...

  2. 不同浏览器对URL最大长度的限制

    不同浏览器对URL最大长度的限制   1.今天碰到一个bug,window.open后面的页面,接收参数不全,导致后台报错.实验了一下.发现是使用get方法请求服务器时,URL过长所致 微软官方的说明 ...

  3. 非root用户搭建hadoop伪分布式

    0.安装软件列表 jdk-7u25-linux-x64.tar.gz hadoop-2.5.0.tar.gz hadoop-native-64-2.5.0.tar   1.准备Linux环境(root ...

  4. 找回误删除的UBUNTU16.04桌面壁纸图片,或把桌面背景图片另存。20170114

    今天遇到一个小问题,之前下载并设置为桌面壁纸的一张图片在整理文件的时候不小心删除了.由于想不起来当时从哪里找到的图,所以就想把当前桌面壁纸重新保存.经网上查询,未见正确的保存方法,故写在此处备忘. 1 ...

  5. dom4j操作xml文档

    java Dom4j解析XML文件 标签(空格分隔):java进阶 xml文档: <?xml version="1.0" encoding="UTF-8" ...

  6. Python简记

    1.字符换行: print('ab \ncd \nef')

  7. Android5.1源码Xposed框架编译

    介绍 Xposed框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作 . 对于Android5.1系统,官方提供 ...

  8. RPC框架基本原理(三):调用链路分析

    本文主要阐述下RPC调用过程中的寻址,序列化,以及服务端调用问题. 寻址 随机寻址 从可用列表中,随机选择地址 一致性寻址 可用服务地址一致性hash管理:根据可服务的地址,构造treemap,计算c ...

  9. Access denied for user 'root'@'localhost' (using password:YES) 解决方案[转]

    关于昨天下午说的MySQL服务无法启动的问题,解决之后没有进入数据库,就直接关闭了电脑. 今早打开电脑,开始-运行 输入“mysql -uroot -pmyadmin”后出现以下错误: “Access ...

  10. JS 之完美运动框架

    完美运动框架是对原来的任意值运动框架的改善和效率的提升,即利用了json对属性进行封装,从而提高效率: window.onload=function(){ var oDiv=document.getE ...