package com.bourke.finch.lazylist;
import android.content.Context;
import java.io.File;
public class FileCache {
private File cacheDir;
public FileCache(Context context){
/* Find the dir to save cached images */
if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED)) {
cacheDir = new File(context.getCacheDir(), "lazylist");
}
if(!cacheDir.exists()) {
cacheDir.mkdirs();
}
}
public File getFile(String url){
//I identify images by hashcode. Not a perfect solution, good for the demo.
String filename=String.valueOf(url.hashCode());
//Another possible solution (thanks to grantland)
//String filename = URLEncoder.encode(url);
File f = new File(cacheDir, filename);
return f;
}
public void clear(){
File[] files=cacheDir.listFiles();
if(files==null)
return;
for(File f:files)
f.delete();
}
}