2010-11-19 10 views

Respuesta

25

Usted puede utilizar el método setImageDrawable

ImageView iv = new ImageView; 

URL url = new URL(address); 
InputStream content = (InputStream)url.getContent(); 
Drawable d = Drawable.createFromStream(content , "src"); 
iv.setImageDrawable(d) 

[16/12/2014] Editar: El uso de Picasso, hace la vida mucho más simple

String url = "http://i.imgur.com/bIRGzVO.jpg"; 
ImageView iv = new ImageView; 

Picasso.with(context).load(url).into(iv); 
//Picasso.with(context).load(url).centerCrop().fit().into(iv); 
+0

muchas gracias, pero la aplicación se volvió muy lenta en la ejecución ?? – Adham

+0

¿cuál es el motivo? – Adham

+0

La aplicación se puso muy lenta en ejecución, porque lo más probable es que esté ejecutando este código en el hilo principal. Mueva el código en la secuencia de fondo para acelerar la aplicación – Arkde

4

Creo que puede utilizar el método setImageUri. El URI se puede construir usando Uri.parse.

+0

disculpa por esta pregunta, pero ¿cómo puedo hacer que el objeto URI para mi cadena de enlace? – Adham

+2

agregó este detalle en mi respuesta –

1

primera u necesidad de golpear URL de la imagen y almacenar el servidor Datos como matriz de bytes, entonces necesita convertir estos datos de bytes en imagen de mapa de bits. Aquí está el código

   String myfeed="http://174.136.1.35/dev/atmsearch/visa.jpg"; 

       try{ 

        URL url=new URL(myfeed); 
        URLConnection connection=url.openConnection(); 
        connection.setDoOutput(true); 
        connection.setDoOutput(true); 
        connection.setRequestProperty("METHOD", "POST"); 
        connection.setRequestProperty("Content-Type","application/x-www-from-urlencoded"); 

        HttpURLConnection httpConnection=(HttpURLConnection)connection; 

        int responsecode=httpConnection.getResponseCode(); 

        if(responsecode==HttpURLConnection.HTTP_OK){ 
         InputStream in=((URLConnection)httpConnection).getInputStream(); 
         int len=0; 
         Bitmap b=BitmapFactory.decodeStream(in); 



         System.out.println(b.toString()); 


         byte[] data1=new byte[1024]; 

         while(-1!=(len=in.read(data1))){ 
          System.out.println("--input stream--"); 
          datafromserver.append(new String(data1,0,len)); 

         } 
         //System.out.println(datafromserver); 
        } 

       }catch(IOException e){ 
        System.out.println("Error...."+e); 
        //Toast.makeText(context, text, duration) 

       } 

// Ahora configure la imagen de mapa de bits en la vista de imagen imageview.setImageBitmap (b);

+0

¿Cuál es datafromserver? – Adham

+0

datafromserver es un generador de cadenas. Si no lo usa, también obtendrá su imagen en la variable b. intenta poner b en tu vista de imagen. –

0

Primero golpeó el enlace de la imagen, por lo que recibirá la imagen como bytes array.Now acaba de decodificar la matriz de bytes a image.Lets de mapa de bits echar un vistazo:

package Image.Read.a; 

import java.io.IOException; 
import java.io.InputStream; 
import java.net.HttpURLConnection; 
import java.net.MalformedURLException; 
import java.net.URL; 
import java.net.URLConnection; 

import android.graphics.BitmapFactory; 

public class Connecetion1 
{ 
public void setNetwork() 
{ 
    try 
    { 

     URL url = new URL("http://3.bp.blogspot.com/_9UYLMDqrnnE/S4UgSrTt8LI/AAAAAAAADxI/drlWsmQ8HW0/s400/sachin_tendulkar_double_century.jpg"); 

     URLConnection connection=url.openConnection(); 

     HttpURLConnection HCon=(HttpURLConnection)connection; 

     int ResCode=HCon.getResponseCode(); 

     System.out.println("Responce Code is = "+ResCode); 


     if(ResCode==HttpURLConnection.HTTP_OK) 
     { 

     InputStream ins=((URLConnection)HCon).getInputStream(); 

       Data.StoreImg=BitmapFactory.decodeStream(ins); 


     } 

    } 
    catch (MalformedURLException e) 
     { 

     e.printStackTrace(); 
    } catch (IOException e) 
     { 

      e.printStackTrace(); 
     } 

} 

}

Puede obtener el tutorial completo de http://www.androidcookers.blogspot.com/2011/06/retrieve-image-from-internet.html

Cuestiones relacionadas