|
||
|
|
|
|||||||
| 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
|
||||
|
||||
|
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);
}
-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! |
|
|
|
#2
|
||||
|
||||
|
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);
}
|
| Gracias de parte de: | ||
|
#3
|
||||
|
||||
|
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! |
![]() |
Estás aquí
|
||||||
|
||||||