Mega Code Archive

 
Categories / Android / File
 

File Cache

//package com.mediaportal.ampdroid.lists; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import android.content.Context; import android.graphics.Bitmap; 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(android.os.Environment.getExternalStorageDirectory(),           "aMPdroid/.Cache");        else            cacheDir=context.getCacheDir();        if(!cacheDir.exists())            cacheDir.mkdirs();    }        public File getFile(String filename){        //I identify images by hashcode. Not a perfect solution, good for the demo.        //String filename=String.valueOf(url.hashCode());        File f = new File(cacheDir, filename);        return f;            }        public void clear(){        File[] files=cacheDir.listFiles();        for(File f:files)            f.delete();    }    public void storeBitmap(Bitmap _bitmap, File _file) {       try {                    if (android.os.Environment.getExternalStorageState().equals(                android.os.Environment.MEDIA_MOUNTED)) {             File parentDir = _file.getParentFile();             if (!parentDir.exists()) {                parentDir.mkdirs();             }             FileOutputStream f = new FileOutputStream(_file);             _bitmap.compress(Bitmap.CompressFormat.JPEG, 100, f);             f.flush();             f.close();          } else {             // todo: write to internal memory here???          }       } catch (FileNotFoundException e) {          e.printStackTrace();       } catch (IOException e) {          e.printStackTrace();       }    } }