2011-02-09 35 views
13

thể trùng lặp:
Is it possible to use BitmapFactory.decodeFile method to decode a image from http location?thiết lập hình ảnh url để xem hình ảnh

tôi có một vấn đề trong hình ảnh bộ url để xem hình ảnh. tôi đã cố gắng bên dưới phương pháp

Phương pháp 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; 
     } 
    } 

Cách 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; 
     } 
    } 

tôi đã cố gắng trên hai phương pháp nhưng không làm việc. cả hai đều hiển thị DEBUG/skia (266): --- decoder-> decode trả về false. tôi đã sử dụng đường dẫn hình ảnh url demo đang hoạt động. nhưng con đường này không hoạt động .so xin vui lòng cho tôi biết những gì là sai và những gì tôi sẽ làm

Cảm ơn bạn trước.

Trân trọng.

+0

cho chúng ta những url của hình ảnh bạn đang tải – Javanator

Trả lời

8

Chỉ Tested bạn "Phương pháp 1" trong ứng dụng của tôi và nó hoạt động tốt.

Bạn có thể đã quên dòng này trong file AndroidManifest.xml của bạn:

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

Phương pháp 1 hoạt động tốt với sự cho phép INTERNET trên ImageView sử dụng setImageBitmap (bimage). – chirale

+1

Ứng dụng của tôi bị treo liên tục với ngoại lệ 'android.os.NetworkOnMainThreadException' (Sau khi thêm quyền INTERNET vào tệp kê khai). Tôi đang làm gì sai? –

+0

NetworkOnMainThreadException không bị lỗi, nó chỉ thông báo cho bạn biết rằng bạn đang thực hiện giao tiếp mạng trên luồng giao diện người dùng. – Deminetix

Các vấn đề liên quan