[翻译]Droid-Fu介绍二: WebImageView and WebGalleryAdapter
2011-05-27 10:26
731 查看
这是第二篇讨论Droid-Fu的文章,主要介绍两个非常便捷的组件: WebImageView 和 WebGalleryAdapter.
下载的操作必须是异步的,否则界面将会卡住
在下载处理过程中,必须显示进度,这样用户才会有更好的体验
下载的过程非常消耗手机资源,因此通常都会考虑缓存下载的图片
看起来显示一个图片是相当痛苦的一个过程。幸运的是Droid-Fu提供了一个非常简单的类解决此问题:WebImageView
这里有个例子显示WebImageView的效果:第一个图片显示了WebImageView正在处于加载状态,第二个图片显示了加载完毕后的效果。
所有的参数都是可选的,这样你可以先定义你自己的view,然后调用WebImageView.loadImage()触发加载图片的操作。很简单是吧!
实现的。ImageLoader自身包含两层缓存。当你使用WebImageView加载一个图片的时候,首先查询第一层的内存缓存,如果找到目标,立刻返回;如果没有找到,就会查询第二层的文件缓存。Droid-Fu使用应用的缓存目录,因此你不需要考虑缓存维护的事宜。如果还是没找到,那么WebImageView最终将会从web上下载该图片。
目前缓存的实现是采用Google Collections MapMaker,它的容量会随着可用内存的变化而变化。什么都不用管,只要将需要缓存的内容放到缓存中,如果缓存空间不够,会回收其他的缓存内容。
原文地址:http://brainflush.wordpress.com/2009/11/23/droid-fu-part-2-webimageview-and-webgalleryadapter/
WebImageView
许多移动应用大量使用基于Web的内容,尤其是照片,头像和其他图像。 问题是:你必须下载后才能显示出来,这意味着:下载的操作必须是异步的,否则界面将会卡住
在下载处理过程中,必须显示进度,这样用户才会有更好的体验
下载的过程非常消耗手机资源,因此通常都会考虑缓存下载的图片
看起来显示一个图片是相当痛苦的一个过程。幸运的是Droid-Fu提供了一个非常简单的类解决此问题:WebImageView
这里有个例子显示WebImageView的效果:第一个图片显示了WebImageView正在处于加载状态,第二个图片显示了加载完毕后的效果。
使用 WebImageView
如果你还没有下载Droid-Fu的jar包的话,赶快下载。然后,在你的布局文件中,增加如下的内容:01 | <? xml version = "1.0" encoding = "utf-8" ?> |
02 | < LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" |
03 | xmlns:droidfu = "http://github.com/droidfu/schema" |
04 | android:orientation = "vertical" |
05 | android:layout_width = "fill_parent" |
06 | android:layout_height = "fill_parent" |
07 | android:gravity = "center" |
08 | android:background = "#FFF" |
09 | > |
10 |
11 | < com.github.droidfu.widgets.WebImageView android:id = "@+id/webimage" |
12 | android:layout_width = "75dip" |
13 | android:layout_height = "75dip" |
14 | android:background = "#CCC" |
15 | droidfu:autoLoad = "true" |
16 | droidfu:imageUrl = "http://www.android.com/images/opensourceprojec.gif" |
17 | droidfu:progressDrawable = "..." |
18 | /> |
19 |
20 | </ LinearLayout > |
缓存
Droid-Fu的WebImageView从web上获取图片是由 ImageLoader实现的。ImageLoader自身包含两层缓存。当你使用WebImageView加载一个图片的时候,首先查询第一层的内存缓存,如果找到目标,立刻返回;如果没有找到,就会查询第二层的文件缓存。Droid-Fu使用应用的缓存目录,因此你不需要考虑缓存维护的事宜。如果还是没找到,那么WebImageView最终将会从web上下载该图片。
目前缓存的实现是采用Google Collections MapMaker,它的容量会随着可用内存的变化而变化。什么都不用管,只要将需要缓存的内容放到缓存中,如果缓存空间不够,会回收其他的缓存内容。
WebGalleryAdapter
WebGalleryAdapter 是Android的Gallery的一个Adapter实现类,而且他完全是即插即用:创建gallery,设置一个WebGalleryAdapter实现类,并且将图片的url地址传递给他。无论用户在gallery做什么样的操作,这些图片都会自动的从web上下载,并且拥有缓存和进度只是这样的特性。原文地址:http://brainflush.wordpress.com/2009/11/23/droid-fu-part-2-webimageview-and-webgalleryadapter/
相关文章推荐
- [翻译]Droid-Fu介绍一: BetterActivity, BetterService and BetterAsyncTask
- Android深入浅出系列之实例应用—简单的手指拖动图片,图片滑来滑去显示应用Gallery和BaseAdapter以及ImageView的使用
- Android深入浅出系列之实例应用—简单的手指拖动图片,图片滑来滑去显示应用Gallery和BaseAdapter以及ImageView的使用
- Android深入浅出系列之实例应用—简单的手指拖动图片,图片滑来滑去显示应用Gallery和BaseAdapter以及ImageView的使用
- iOS多线程-SDWebImage简单介绍 1 设置imageView的图片 (内存缓存&磁盘缓存) 1 [cell.imageView sd_setImageWithURL:[NSURL URL
- 翻译:Panda3D Manual/V. Programming with Panda/J. Text and Image Rendering
- SDWebImage的使用以及原理介绍
- xcode,在webView中引入本地html,image,js,css文件的方法
- 多线程:使用ImageView下载图片(模仿 SDWebImage)
- Webview组件和HTML的介绍
- SDWebImage的介绍与使用
- Android WebView详解(一):相关API介绍
- 控件(View)之TextSwitcher, Gallery, ImageSwitcher, GridView, ListView, ExpandableList
- Cocoa NSTableView, NSTextFieldCell, NSCell, ImageAndTextCell tutorial
- Android的ImageView介绍-android学习之旅(二十二)
- Android WebView使用简单介绍
- SDWebImage的option介绍
- Load image/css/js locally from Webview in Android Mobile app
- 下载PHPDroid: 基于WebView和PHP内置HTTP服务器开发Android应用
- WKWebView与JS交互实战技巧之API介绍