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源码拷贝到我们的项目里,这时我们可以看到 ...
随机推荐
- $.ajax()方法详解 jquery中的ajax方法
jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(p ...
- iOS Plugins
iOS Plugins This section provides details for how to implement native plugin code on the iOS platfor ...
- Oracle SQL自带函数整理
数字函数 abs(n):用于返回数字n的绝对值 ceil(n):返回大于等于数字n的最小整数 floor(n):返回小于等于数字n的最大整数 mod(m,n):返回m/n数字相除后的余数,如果n=0, ...
- SuperSocket源码解析之开篇 (转)
一 简介 官方介绍:SuperSocket 是一个轻量级, 跨平台而且可扩展的 .Net/Mono Socket 服务器程序框架.你无须了解如何使用 Socket, 如何维护 Socket 连接和 S ...
- ExtJS从入门到后面肯定要抛弃
一.ExtJs定义 ①基于JavaScript语言 ②基于JavaSwing的MVC架构 ③支持组件化.模块化设计 ④提供“本地数据源”的支持 ⑤完完善与服务端的交互机制 ⑥是最有可能拥有大规模可视化 ...
- 移动app的一些心得
周末的时候闲着没事,看到了个开源的红旅动漫的APP,于是自己就拿下来写了下,整个网站作者也解析成了接口,所以就可以写成app了,作者写的是用mui开发的,可以通过hbuilder软件打开,进行查看源代 ...
- Mac笔记本中使用postgresql
安装 brew install postgresql 安装了两个依赖包 ==> Installing dependencies for postgresql: openssl, readline ...
- 《JS权威指南学习总结--第五章语句》
内容要点: 一.throw语句 所谓异常是当发生了某种异常情况或错误时产生的一个信号. 抛出异常就是用信号通知发生了错误或异常状况. 捕获异常时指处理这个信号,即采取必要的手段 ...
- mybatis 批量插入值的sql
<insert id="insertAwardPic" useGeneratedKeys="true" parameterType="java. ...
- Entity Framework删除数据
注:本文为个人学习摘录,原文地址:http://blog.csdn.net/itmaxin/article/details/47659817 最近在学EF,目前了解到删除操作有三种方式, 第一,官方推 ...