2011-02-09 39 views
13

Duplicar posible:
Is it possible to use BitmapFactory.decodeFile method to decode a image from http location?establecer URL de la imagen para ver la imagen

tengo un problema de imagen en conjunto url para ver la imagen. i intentado debajo de métodos

Método 1:

Bitmap bimage= getBitmapFromURL(bannerpath); 
image.setImageBitmap(bimage); 

public static Bitmap getBitmapFromURL(String src) { 
     try { 
      Log.e("src",src); 
      URL url = new URL(src); 
      HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
      connection.setDoInput(true); 
      connection.connect(); 
      InputStream input = connection.getInputStream(); 
      Bitmap myBitmap = BitmapFactory.decodeStream(input); 
      Log.e("Bitmap","returned"); 
      return myBitmap; 
     } catch (IOException e) { 
      e.printStackTrace(); 
      Log.e("Exception",e.getMessage()); 
      return null; 
     } 
    } 

Método 2:

Drawable drawable = LoadImageFromWebOperations(bannerpath); 
    image.setImageDrawable(drawable); 

    private Drawable LoadImageFromWebOperations(String url) 
    { 
     try 
     { 
      InputStream is = (InputStream) new URL(url).getContent(); 
      Drawable d = Drawable.createFromStream(is, "src name"); 
      return d; 
     }catch (Exception e) { 
      System.out.println("Exc="+e); 
      return null; 
     } 
    } 

i intentado por encima de dos métodos, pero no están trabajando. ambos muestran DEBUG/skia (266): --- decoder-> decode devuelto falso. utilicé las rutas de la imagen de demo url que está funcionando. pero este camino no está funcionando. Por favor dígame qué está mal y qué haré

Gracias de antemano.

saludo.

+0

nos dan la url de la imagen que está descargando – Javanator

Respuesta

8

Acaba de probar su "Método 1" en mi aplicación y funciona muy bien.

Es posible que haya olvidado esta línea en el archivo AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET" /> 
+0

Método 1 funciona bien con el permiso del Internet en un ImageView usando setImageBitmap (bimage). – chirale

+1

Mi aplicación se bloquea constantemente con la excepción 'android.os.NetworkOnMainThreadException' (Después de agregar el permiso de INTERNET al manifiesto). ¿Qué estoy haciendo mal? –

+0

La excepción NetworkOnMainThreadException no debería fallar, simplemente le está informando que está haciendo la comunicación de red en el hilo de la interfaz de usuario. – Deminetix

Cuestiones relacionadas