2011-03-19 6 views
12

Je reçois le message suivant dans Android LogCatjava.io.FileNotFoundException: (Aucun fichier ou répertoire)

03-20 01:45:03.362: WARN/System.err(369): java.io.FileNotFoundException: /mnt/sdcard/LazyList/-2012431329 (No such file or directory) 
03-20 01:45:03.362: WARN/System.err(369):  at org.apache.harmony.luni.platform.OSFileSystem.open(Native Method) 
03-20 01:45:03.372: WARN/System.err(369):  at dalvik.system.BlockGuard$WrappedFileSystem.open(BlockGuard.java:232) 
03-20 01:45:03.382: WARN/System.err(369):  at java.io.FileOutputStream.<init>(FileOutputStream.java:94) 
03-20 01:45:03.382: WARN/System.err(369):  at java.io.FileOutputStream.<init>(FileOutputStream.java:66) 
03-20 01:45:03.392: WARN/System.err(369):  at com.ImageLoaders.ImageLoader.getBitmap(ImageLoader.java:86) 

Pour télécharger des images dans l'émulateur Android J'ai ajouté la permission d'Internet dans le fichier AndroidManifest.xml, mais on dirait que ça ne marche pas. J'ai également donné 10 Mo d'espace pour l'émulateur Android.

quelqu'un me guide quel pourrait être le problème? merci d'avance.

+0

Avez-vous un fichier avec appelé '/ mnt/sdcard/LazyList/-2012431329'? – MByD

+0

Essayez le nouveau fichier java.io.File ("/ mnt/sdcard/LazyList/-2012431329"). Exists(); Est-ce que cela dit vrai ou faux? – blizpasta

+0

oui il existe – UMAR

Répondre

-3

En fait, je manque des autorisations de lecture/écriture au stockage externe

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

et ceux qui étaient? – kellogs

0

Vous semblez rechercher le répertoire suivant ou fichier:

/mnt/sdcard/LazyList/-2012431329 

C'est à la recherche d'un peu bizarre. Ce fichier ou répertoire ne peut pas être trouvé car ce n'est pas un nom valide. Êtes-vous sûr que c'est le bon nom?

28

J'ai résolu ce problème en ajoutant des autorisations:

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

ImageLoader Constructor devrait être le changement à ce sujet.

public ImageLoader(Context context) { 
    // Make the background thead low priority. This way it will not affect 
    // the UI performance 
    photoLoaderThread.setPriority(Thread.NORM_PRIORITY - 1); 

    // Find the dir to save cached images 
    if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) 
     cacheDir = new File(context.getCacheDir(), "LazyList"); 
    else 
     cacheDir = context.getCacheDir(); 
    if (!cacheDir.exists()) 
     cacheDir.mkdirs(); 
} 

Par défaut, il est comme ça

cacheDir = new File(android.os.Environment.getDataDirectory(), "LazyList"); 

Vous devez changer à

cacheDir = new File(context.getCacheDir(), "LazyList"); 

Je résolu mon problème 100% dans Android 2.1.

Questions connexes