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

Respuesta
 
Herramientas
  #1  
Viejo 07/05/12, 09:16:32
Array

[xs_avatar]
timonoj
Usuario invitado
 
Mensajes: n/a

No entra en el bucle for?

A ver, estoy tratando de hacer una descarga recursiva de las imágenes de una web. Como no he visto ejemplo similar, me lo he hecho yo a mi manera: Parseo las urls de archivos de imagen en mi array de strings imageUrls[].
Tengo el siguiente código:
Código:
Log.i("MiApp","imageUrls length: " +imageUrls.length);
        
        for (int i=0; i==imageUrls.length; i++){
            file=null;
            
             //filename:
            StringBuilder sb = new StringBuilder(imageUrls[i]);
            int j = sb.lastIndexOf("/");
            String filename = sb.substring(j+1);
            Log.i("MiApp","Downloading filename " +filename.toString());
            file= new File(dirPics, filename);
            Download(address, file);
            
        }
-sb.lastIndexOf("/") lo tengo para que bautice el nombre de archivo tras el último "/" de la dirección, lo que sería el nombre del archivo como sale en la url.
-dirPics es un file con la dirección en la memoria SD para imágenes

-El procedimiento Download, obviamente, descarga lo que se le pasa en el string address al archivo file.

Aclarado esto, pongo mi duda: El caso es que estoy volviéndome loco. Lo que yo creo entender es que no entra en el loop :
Antes de entrar en el bucle, arroja en el log tan feliz "imageUrls length: 33", vamos, que el array tiene 33 direcciones para bajar, y por tanto el loop debería de repetirse 33 veces. Y ahí se queda. El proceso finaliza, sin sacar nada más por el log. La app no casca. Del código escrito, veis que haya planteado mal el bucle for? Gracias!
Responder Con Cita


  #2  
Viejo 07/05/12, 10:33:00
Array

[xs_avatar]
monchyrcg monchyrcg no está en línea
Miembro del foro
 
Fecha de registro: sep 2011
Localización: Cartagena
Mensajes: 384
Modelo de smartphone: LG Optimus Black
Tu operador: Orange
No entra en el loop, por que lo tienes mal formado, creas la variable i=0 y luego para entrar en el loop preguntas si es igual al length (i==imageUrls.length) al no serlo (dices que es 33) pues no entra. Entinedes? Sería algo así:
Código:
Log.i("MiApp","imageUrls length: " +imageUrls.length);
        
        for (int i=0; i<=imageUrls.length; i++){
            file=null;
            
             //filename:
            StringBuilder sb = new StringBuilder(imageUrls[i]);
            int j = sb.lastIndexOf("/");
            String filename = sb.substring(j+1);
            Log.i("MiApp","Downloading filename " +filename.toString());
            file= new File(dirPics, filename);
            Download(address, file);
            
        }
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 07/05/12, 10:37:29
Array

[xs_avatar]
timonoj
Usuario invitado
 
Mensajes: n/a

 Cita: Originalmente Escrito por monchyrcg Ver Mensaje
No entra en el loop, por que lo tienes mal formado, creas la variable i=0 y luego para entrar en el loop preguntas si es igual al length (i==imageUrls.length) al no serlo (dices que es 33) pues no entra. Entinedes? Sería algo así:
Código:
Log.i("MiApp","imageUrls length: " +imageUrls.length);
        
        for (int i=0; i<=imageUrls.length; i++){
            file=null;
            
             //filename:
            StringBuilder sb = new StringBuilder(imageUrls[i]);
            int j = sb.lastIndexOf("/");
            String filename = sb.substring(j+1);
            Log.i("MiApp","Downloading filename " +filename.toString());
            file= new File(dirPics, filename);
            Download(address, file);
            
        }

Si seré gañán...Me pasa por pasarme años sin picar código. Eso que dicen de que es como pedalear en bici es MENTIRA!!
En fin. He cambiado el == por <= y obviamente ha tirado. Me he comido como 50 errores de una sentada, pero ya ha entrado al bucle, está claro. Muchísimas gracias!
Responder Con Cita
Respuesta

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



Hora actual: 11:18:47 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2026 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /