Ver Mensaje Individual
  #1  
Viejo 09/05/16, 20:20:44
Array

[xs_avatar]
kaiser75 kaiser75 no está en línea
Miembro del foro
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Problema leyendo archivos de SD

Tengo un problema con un listview que muestra archivos de la sd, me salta un nullPointerException y un "attempt to get length of null array", en negrita es la linea donde me salta el error, con emuladores de 4.0 , 4.1, 4.2 funciona correctamente, me guarda los archivos, los lista bien, los lee, borrar etc pero con 4.3, 5.0, 6.0 peta y da forzar cierre. Sacado de este post.

Código:
public ArrayList<File> FindSongs(File root) {
        ArrayList<File> al = new ArrayList<File>();
        File[] files = direc.listFiles();
        for (File singleFile : files) {
            if (singleFile.isDirectory() && !singleFile.isHidden()) {
                al.addAll(FindSongs(singleFile));
            } else {
                if (singleFile.getName().endsWith(extension)
                        
                ) {
                    al.add(singleFile);
                }
            }
        }
        return al;
    }
Aqui creo el directorio si no existe, en los emuladores de 5.0 me falla alcrear el directorio en la SD, pero en 4.1 por ejemplo funciona correctamente la aplicacion.

Código:
private String Path = "la ruta de la sd ...";
private File direc = new File(Environment.getExternalStorageDirectory()
            .getAbsolutePath() + Path);

public void crearDirectorio() {
        try {
            Log.d("Starting", "Checkeando directorio /App/Audios/");
            if (!direc.exists()) {
                if (!direc.mkdir()) {
                    Log.e("Fallo al crear directorio",
                            direc.toString());
                } else {
                    Log.i("Creacion del directorio", "Ok");
                }
            }
        } catch (Exception ex) {
            Log.e("Creacion del directorio", ex.getMessage());
        }
    }
__________________

Última edición por kaiser75 Día 12/05/16 a las 18:19:38.
Responder Con Cita