Android - Añadir imagenes a imagebuttons mediante un bucle por codigo

 
Vista:

Añadir imagenes a imagebuttons mediante un bucle por codigo

Publicado por Raul (1 intervención) el 31/05/2016 09:50:18
Estoy haciendo una aplicación donde necesito insertar x imágenes de una carpeta dentro de tantos imagebutton como fotos tenga.

Hasta ahora solo consigo hacer un bucle con un while, para que me realice el bucle con una sola imagen haciendo que me aparezca x veces.

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Añadir imagenes a imagebuttons mediante un bucle por codigo

Publicado por joesmecr (4 intervenciones) el 31/05/2016 15:24:38
No sé si este sea el caso, pero explicaré como obtener una imagen desde la web para visualizarla en nuestro dispositivo móvil.

Código
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
URL imageUrl = null;
HttpURLConnection conn = null;
 
try {
 
 imageUrl = new URL("http://pagina.com/foto.jpg");
 conn = (HttpURLConnection) imageUrl.openConnection();
 conn.connect();
 Bitmap imagen = BitmapFactory.decodeStream(conn.getInputStream());
 img.setImageBitmap(imagen);
 
 } catch (IOException e) {
 
 e.printStackTrace();
 
 }

El truco es utilizar las clases HttpURLConnection y BitmapFactory para obtener los bytes de la imagen de la URL, y luego decodificarla y volcarla en un Bitmap para cargarla en algún ImageView o ImageButton.

El objeto img es un ImageView en este caso. Así de fácil podemos hacer uso de imagenes externas a nuestra aplicación , lo que nos ahorra espacio y hace que la aplicación sea un poco menos pesada.

Finalmente para poder realizar la conexión satisfactoriamente, necesitamos obviamente del permiso de Internet. Para ello agregamos esta línea en nuestro AndroidManifest.xml .

Código
1
<uses-permission android:name="android.permission.INTERNET" />

Actualizo la entrada con la solución al problema de rebasamiento de memoria
Código
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
URL imageUrl = null;
 HttpURLConnection conn = null;
 
 try {
 
 imageUrl = new URL("http://pagina.com/foto.jpg");
 conn = (HttpURLConnection) imageUrl.openConnection();
 conn.connect();
 
 BitmapFactory.Options options = new BitmapFactory.Options();
 options.inSampleSize = 2; // el factor de escala a minimizar la imagen, siempre es potencia de 2
 
 Bitmap imagen = BitmapFactory.decodeStream(conn.getInputStream(), new Rect(0, 0, 0, 0), options);
 img.setImageBitmap(imagen);
 
 } catch (IOException e) {
 
 e.printStackTrace();
 
 }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Añadir imagenes a imagebuttons mediante un bucle por codigo

Publicado por Esmeralda (11 intervenciones) el 06/06/2016 10:21:04
Hola pienso que la clave esta en el while
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
android.startSensing() -- empezamos los sensores.
android.sleep(1) -- ponemos inactivo el sistema un momento mientras los sensores se incian.
silent = false  a fondo el uso de variables.
while true do -- Aquí podremos observar que el bucle while se acaba de iniciar.
  s = android.readSensors() -- s es igual a android.readSensors().
  facedown = s.result and s.result.zforce and s.result.zforce > 9
  if facedown and not silent then
    android.vibrate()
    android.setRingerSilent(true)
    silent = true
  elseif not facedown and silent then
    android.setRingerSilent(false)
    silent = false
  end
  end -- Aquí termina el bucle while
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar