2010-09-23 9 views
0

J'ouvre une image de la galerie, la redimensionne et j'essaie d'enregistrer la version redimensionnée dans le fichier de données des applications pour que je puisse l'attraper à l'avenir. Mon problème est que je continue d'obtenir une exception FileNotFoundException lorsque j'essaie de l'écrire avec un flux d'entrée.Enregistrer une image modifiée sur la carte SD

C'est aussi le fichier qu'il essaie d'écrire. "/mnt/sdcard/Android/data/foundcake.myslide/files/IMG_20100918_133128.png"

Ai-je manqué des étapes importantes ici?

File storagePath = new File(Environment.getExternalStorageDirectory() + "/Android/data/foundcake.myslide/files/"); 
    storagePath.mkdirs(); 

    Debug.print("STORAGE PATH " + storagePath); 

    Pattern pattern = Pattern.compile("/([^/]+)\\.[^/]+$"); 
    Matcher matcher = pattern.matcher(filePath); 
    String fileName = ""; 
    while (matcher.find()) { 
     fileName = matcher.group(1); 
    } 

    Debug.print("FILE NAME " + fileName); 

    File cached = new File(storagePath, fileName + ".png"); 

    Debug.print("NEW FILE " + cached.toString()); 

    try { 
     FileOutputStream out = new FileOutputStream(cached); 
     bitmap.compress(Bitmap.CompressFormat.PNG, 100, out); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

Répondre

1

nécessaire

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Whoops.

Questions connexes