android图片缓存之文件(Sdcard)
来源:互联网 发布:火影忍者衣服淘宝网 编辑:程序博客网 时间:2024/06/10 09:58
将图片保存在sdcard主要是用到I/O操作
class FileCache{
private File cacheDir;private Context context;
public FileCache(Context context){
this.context=context;
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ //判断有没有sdcard
cacheDir=new File(Environment.getExternalStorageDirectory(),"SdcardImageCache");
}
if(!cacheDir.exists()){
cacheDir.mkdirs();
}else if(cacheDir.isDirectory()){
clearSdcardCache();//删除过期的文件
}
}
private File getFromFileCache(String url){//从sd卡中获取图片
Log.d("liu", url);
String fileName=urlToFileName(url);
File file=new File(cacheDir, fileName); //创建保存每个图片的文件
return file;
}
private String urlToFileName(String url){
return String.valueOf(url.hashCode());
}
private void addToFileCache(String url, Bitmap bitmap) throws IOException{
Log.d("add1", bitmap.toString());
File file=getFromFileCache(url);
FileOutputStream fOut=new FileOutputStream(file);
ByteArrayOutputStream bos=new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bos);
byte[] array = bos.toByteArray();
fOut.write(array);
fOut.flush();
fOut.close();
}
private void clearSdcardCache(){
File[] files=cacheDir.listFiles();
long currentTime=System.currentTimeMillis();
if(files==null){
return;
}
for(File file:files){
if(currentTime-file.lastModified()>DELETE_TIME_INTERVAL){ //大于2天的就删除
file.delete();
continue; //还有就继续
}
}
}
- android图片缓存之文件(Sdcard)
- android异步下载图片缓存到sdcard
- android异步下载图片缓存到sdcard
- Android文件存储之SDcard
- Android图片文件缓存
- Android之图片缓存
- Android之图片缓存
- android扫描sdcard中的音视频及图片等文件
- android 在Sdcard和本地创建文件保存图片
- 缓存之sdcard卡本地缓存
- android 文件保存!Sdcard !
- android 读写sdcard文件
- Android扫描SDcard文件
- 使用ImageLoader缓存图片到SDCARD
- Android初试--Android中的文件操作之SDcard操作(2)
- android图片缓存之softReference
- android 图片缓存之 createBitmap
- Android之图片缓存管理
- 如何使用分页和分页样式
- linux 绑定hosts
- [水晶报表]实现Checkbox勾选
- getServletConfig() 与getServletContext() 的区别 .
- Linux下平台设备驱动
- android图片缓存之文件(Sdcard)
- WinCE BSP的BIB文件介绍
- c# word ppt excel转pdf
- 第一次打豆豆
- 第十四周项目四—数组的排序
- 黑马程序员_c#基础知识学习笔记:常量,枚举和结构
- Android Animation学习笔记
- 数组大折腾程序报告
- BeanFactoryPostProcessor接口