Android LazyList 从网络获取图片并缓存

时间:2014-07-01 12:28:58   收藏:0   阅读:752

原文地址

 

本文内容

本文是 Github 上的一个演示,通过网络获取歌手专辑的缩略图,并显示在 ListView 控件中。该演示具备将缩略图缓存到手机外存的功能,所以叫“Lazy”,这样就不用每次都通过网络重新获取。

该演示仅仅是获得缩略图,但在另一篇文章中,作者根据这个 LazyList,做了一个相对完整的演示(包括歌曲名称、歌手名、时长、缩略图等信息),如图 3 所示。

环境


 

演示 LazyList 从网络获取图片并缓存


Github上的演示只有一个 Java 包,但我重新划分了一下,便于理解作者的思路。在此出下载。

bubuko.com,布布扣

图 1 项目结构

bubuko.com,布布扣

图 2 左:主程序,从网络获得缩略图;右:点击“Clear Cache”清除缓存重新加载

如图 2 左边所示,是主程序,从网络获得缩略图并显示。当点击“Clear Cache”按钮后,程序会清除缓存,重新加载并显示缩略图,如图 2 右边所示,有显示出歌手缩略图的,还有没显示出的,没有显示出来的,是正在从网络获取~

bubuko.com,布布扣

图 3 网络获取音乐列表

这是另一个相对完整的演示,点击此处下载,这个演示是在 LazyList 基础完成的,但有 bug,程序不太稳定,程序的运行不是每次都能显示出列表,即便显示出来,缩略图却显示不出来,还没搞清楚是怎么回事,其中一个 bug 是因为版本较低,而 Android 4.0 以上的版本不允许在主线程访问网络,你可以试试,要是弄明白了,告诉我一下~

 

参考资料


 

这三个链接的关系是,第二个链接的演示是根据第一个链接完成的,第三个链接翻译的第二个连接。

 

下载 Demo

下载 Demo

Android LazyList 从网络获取图片并缓存,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!