entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Mostrar imagen con URL en Android

Hola a todos.
Querría saber de que manera puedo mostrar una imagen que está alojada en internet con la URL. Me refiero a que la imagen on esta en la aplicación, sino cargarla con la URL.
He mirado varios sitios y la verdad que no me aclaro muy bien. No estoy seguro, pero parece que debería cargarla primero con con una tarea Asincrona (Assynctask)....... A ver si alguien me puede ayudar.
Gracias.

1 Respuesta

2votos

x4mp73r Puntos13390

No te entendí bien, según el título de tu pregunta es mostrar URL en tu imagen, debes de aprender bien a formular tus preguntas.
Utiliza BitMap y abre una conexión para eso:

private Bitmap get_imagen(String url) {
        Bitmap bm = null;
        try {
            URL _url = new URL(url);
            URLConnection con = _url.openConnection();
            con.connect();
            InputStream is = conn.getInputStream();
            BufferedInputStream bis = new BufferedInputStream(is);
            bm = BitmapFactory.decodeStream(bis);
            bis.close();
            is.close();
        } catch (IOException e) {

        }
        return bm;
    }

Ya que la obtenga se la pasas a tu ImageView o ImageButton que quieres que lo muestre:


Bitmap obtener_imagen = get_imagen("http://www.ladirecciondetuimagen.com/imagenes/tuimagen.png");
       tuImageView.setImageBitmap(obtener_imagen);

1voto

cobasESP comentado

Y todo esto de arriba debes hacerlo en un hilo independiente que no sea el main de android,ya que las conexiones a internet fallan si estan en el hilo principal, debes meter todo el bloque try-catch en un asynctask.


private class DownloadFilesTask extends AsyncTask<String> {
     Bitmap bm = null;
     protected String doInBackground(String... url) {
         try {
            URL _url = new URL(url);
            URLConnection con = _url.openConnection();
            con.connect();
            InputStream is = conn.getInputStream();
            BufferedInputStream bis = new BufferedInputStream(is);
            bm = BitmapFactory.decodeStream(bis);
            bis.close();
            is.close();
        } catch (IOException e) {

        }
        return bm;
     }
 }

//E iniciar el asyntask
new DownloadFilesTask().execute(url);

No se si me e dejado algo en el asyntask pero deberia ser asi.

0voto

nachito777sk comentado

Quizás no me expliqué bien.
Lo que quiero es asignar una imagen alojada en internet a una ImageView.
Osea, hasta ahora para asignar una foto lo hago así:

ImageView img = (ImageView)findViewById(R.id.ImgFoto);
img.setImageResource(R.drawable.icon);

El icono lo tengo en la carpeta drawable. Y lo que quiero es poner una foto que no tengo en la aplicación. Lo que tengo es la url, y que en html es así de fácil
<img src="http://imagendelaurl.png">

Como colocar la url para que se vea, algo así.....

ImageView img = (ImageView)findViewById(R.id.ImgFoto);
img.setImageResource(http://imagendelaurl.png);

0voto

x4mp73r comentado

¿Ya intentaste mi respuesta?
El código lo que hace es descargarla primero, después la asigna al Imageview:

tuImageView.setImageBitmap(obtener_imagen);

@cobasESP y yo ya te colaboramos, demasiado diría yo, depende de tí si no lo usas, no se si no lo entiendes o que onda, es muy fácil de asimilar y eso resuelve tu pregunta.
Saludos

0voto

nachito777sk comentado

Perdón. Creía que no había quedado clara mi pregunta, por eso la formulé otra vez. Gracias por la ayuda, en principio esa es la manera de hacerlo. Gracias a los dos.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta