2011-03-19 34 views
12

estoy recibiendo el siguiente mensaje en Android LogCatjava.io.FileNotFoundException: (No existe el fichero o directorio)

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) 

Para descargar imágenes en emulador de Android He añadido el permiso de Internet en el archivo AndroidManifest.xml, pero parece que no está funcionando. También he dado 10 MB de espacio para el emulador de Android.

cualquiera me guía ¿cuál podría ser el problema? gracias de antemano.

+0

¿Tiene un archivo llamado '/ mnt/sdcard/LazyList/-2012431329'? – MByD

+0

Pruebe nuevo java.io.File ("/ mnt/sdcard/LazyList/-2012431329") exists(); ¿Dice verdadero o falso? – blizpasta

+0

sí existe – UMAR

Respuesta

-3

permisos en realidad me estaba perdiendo de lectura/escritura para almacenamiento externo

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

y ésos eran? – kellogs

0

Se parecen buscar el directorio o archivo siguiente:

/mnt/sdcard/LazyList/-2012431329 

Se trata de mirar un poco extraño. Este archivo o directorio no se puede encontrar ya que no es un nombre válido. ¿Estás seguro de que este es el nombre correcto?

28

que resuelven este problema añadiendo permisos:

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

ImageLoader Constructor debe ser el cambio a este.

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(); 
} 

Por defecto es así

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

se debe cambiar a

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

he resuelto mi problema 100% en Android 2.1.

Cuestiones relacionadas