SmartImageView的使用
对于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 URLpublic 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的使用的更多相关文章
- SmartImageView
== public class SmartImageView extends ImageView { public SmartImageView(Context context) { super(co ...
- 无废话Android之smartimageview使用、android多线程下载、显式意图激活另外一个activity,检查网络是否可用定位到网络的位置、隐式意图激活另外一个activity、隐式意图的配置,自定义隐式意图、在不同activity之间数据传递(5)
1.smartimageview使用 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&q ...
- smartimageview使用与实现原理
一.从网络中获取图片的步骤 从网络中获取图片是一个耗时耗资源耗费用户流量的操作,故我们在第一次获取到网络中图片的时候会将其缓存到本地(内存或SD卡),以保证下次再需要这张图片时,可以从本地加载到. 二 ...
- Android SmartImageView框架的简单实用
特征:根据URL地址装载图像:支持装载通讯录中的图像:支持异步装载:支持缓存: 这个是作者的项目主页,有使用方法.http://loopj.com/android-smart-image-view/ ...
- Android(java)学习笔记206:利用开源SmartImageView优化网易新闻RSS客户端
1.我们自己编写的SmartImageView会有很多漏洞,但是我们幸运的可以在网上利用开源项目的,开源项目中有很多成熟的代码,比如SmartImageView都编写的很成熟的 国内我们经常用到htt ...
- Android(java)学习笔记204:自定义SmartImageView(继承自ImageView,扩展功能为自动获取网络路径图片)
1.有时候Android系统配置的UI控件,不能满足我们的需求,Android开发做到了一定程度,多少都会用到自定义控件,一方面是更加灵活,另一方面在大数据量的情况下自定义控件的效率比写布局文件更高. ...
- 开源框架SmartImageView的使用
1.SmartImageView为一个网络图片框架,可以将一个网络URL的图片展示在UI上 2.SmartImageView使用 @1Github上下载源代码 @2拷贝原码到工程src下 @3布局配置 ...
- 11_Android中HttpClient的应用,读取网络xml及xml解析流,Handler的应用,LayoutInflater的使用,SmartImageView的使用
1 所需的web项目结构如下: 2 new.xml的文件内容如下: <?xml version="1.0" encoding="UTF-8" ?&g ...
- [android] smartimageview&常见的开源代码
github上搜索开源框架android-smarty-imageview,下载压缩包,拷贝我们之前写的网络图片查看器布局. 解压下载包里面的数据,找到java源码拷贝到我们的项目里,这时我们可以看到 ...
随机推荐
- GCD系列 之(二): 多核心的性能
全局队列的并发执行 for(id obj in array) [self doSomethingIntensiveWith:obj]; 假设,每个元素要做的事情-doSomethingIntensiv ...
- recycleview
RecyclerView是什么? RecyclerView是一种新的视图组,目标是为任何基于适配器的视图提供相似的渲染方式.它被作为ListView和GridView控件的继承者,在最新的suppor ...
- Linux常用命令汇总及使用方法(三)
(1)文件管理命令 ls.ls -l.ll.ls -a ls -a 显示所有文件,包括隐藏文件 ls 列举指定目录下的子目录和文件 ls -l与ll相同 列举指定目录下的子目录和文件的详细信息 tot ...
- 从NPM到CNPM
从NPM到CNPM 原文 http://www.cnblogs.com/hufeng/p/5166479.html 主题 npm 引用NPM网站上的一句话:npm loves you ! NPM ...
- 对“针对接口编程,而不是针对实现编程”的理解
今天在阅读<Head First设计模式>的时候,看到了这句话:"针对接口编程,而不是针对实现编程",第一次见到的时候,不太清楚作者想表达的意思,想着到后来看看实例就懂 ...
- JavaScript动态加载资源【js|css】示例代码
在开发过程中会用到各种第三方的插件,或者自己写在单独文件中的js方法库或者css样式,在html头部总是需要写一大堆的script和link标签,如果想要自己实现动态的引入资源文件,可以使用开源的re ...
- Maxwell顺态求解器电磁力分析
文源:技术邻 问题描述:求解一段通有正弦交流电的直导线在某一稳态磁场中的受力情况,并简单验证仿真结果. 模型介绍: 如上几何模型中10mm边长立方体代表永磁体,材料属性为材料库中的NdFe35,修改磁 ...
- zoj 1586 QS Network
最小生成树,刚刚学了Prim算法. 对每条边变的权值进行预处理,c[i][j] = c[i][j] + p[i] + p[j] 其中c[i][j]为输入的权值,p[i],p[j]为连接这两个节点所需的 ...
- hdu1026
#include <stdio.h> #include <string.h> #include <queue> using namespace std; struc ...
- Struts2-3.struts.xml的action可以简写
如果只是跳转到某个页面的话,可以这样写 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE s ...