我的需求是这样的:我需要下载server端的一些图片,数据库中存储的是这些图片的名称,我用图片名与请求路径拼接成完整的路径作为客户端发出的请求。对于下载完成的图片,我是否可以放入res/mipmap下?
我试图实现:在需要图片的时候,先访问本地,本地没有的话再请求服务器,而且我想要取出图片的时候很简单,请教如何实现!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
Picasso 解决你所有需求,包括disk和memory 二级缓存,直接into到imageview
本质上是通过下载地址判定当前文件是否下载过,决定从服务器加载或者从本地缓存中取出。
res属于一次性(编译成Resource配置)资源目录,应用安装完成后就不能再改变,所以,远程下载的图片不能放这里,也没有相关API提供实现。远程图片下载后一般放到外置存储器上(如SDCARD),或者应用的file目录。这些是比较简单的IO操作了,你可以找一本Android的入门书籍或在网上搜索相关的知识,会能比较系统的了解这部分内容。
一般放外置存储,可以存原始文件,也可以缓存解码好的buffer
可以使用现成的图片缓存框架,比如Picasso glide imageloader 等。这些都可以配置缓存的位置。
缓存目录,文件目录 都可以。。但肯定不能是res下的目录,那个资源文件目录,打包后就不能更改