PDA

Ver la Versión Completa : Problema leyendo archivos de SD


kaiser75
09/05/16, 20:20:44
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 (http://stackoverflow.com/questions/36655691/nullpointerexception-in-application).


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.


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

soneu03
10/05/16, 15:52:52
Mira que tengas el permiso WRITE en el manifest (ahora mismo no me acuerdo exactamente como se llama)

Enviado desde mi XT910 mediante Tapatalk

kaiser75
12/05/16, 12:27:58
Si lo tengo puesto, lectura y escritura...