Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 09/05/16, 20:20:44
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
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


  #2  
Viejo 10/05/16, 15:52:52
Avatar de soneu03
soneu03 soneu03 no está en línea
Usuario poco activo
Mensajes: 1
 
Fecha de registro: may 2015
Mensajes: 1
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Mira que tengas el permiso WRITE en el manifest (ahora mismo no me acuerdo exactamente como se llama)

Enviado desde mi XT910 mediante Tapatalk
Responder Con Cita
  #3  
Viejo 12/05/16, 12:27:58
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
Si lo tengo puesto, lectura y escritura...
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 14:45:05 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007