Hướng dẫn load image từ 1 URL sử dụng ImageView

Thảo luận trong 'Điện thoại, viễn thông' bắt đầu bởi khaipt, 2/9/12.

  1. khaipt New Member

    khaipt

    Tham gia ngày:
    30/6/12
    Bài viết:
    22
    Đã được thích:
    34
    Điểm thành tích:
    0
    Bài viết này sẽ hướng dẫn các bạn load 1 image từ 1 URL vào ImageView

    1. Sử dụng Bitmap như sau:
    PHP:
    private Bitmap loadBitmap(String url) {
                
    Bitmap bm null;
                
                try {
                    
    URL myURL = new URL(url);
                    
    myURL.openConnection().setReadTimeout(30000);
                    
                    
    BufferedInputStream bis = new BufferedInputStream(myURL.openStream(), 1024);
                    
    ByteArrayOutputStream dataStream = new ByteArrayOutputStream();
                    
    BufferedOutputStream out = new BufferedOutputStream(dataStream,1024);
                    
    copy(bisout);
                    
    byte[] data dataStream.toByteArray();
                    
    BitmapFactory.Options bfo = new BitmapFactory.Options();
                    
    bfo.inSampleSize 2;
                    
                    
    bm BitmapFactory.decodeByteArray(data0data.lengthbfo);
                    
                    
    out.flush();
                    
    bis.close(); 
                    
                } catch (
    IOException ioe) {
                    
    Log.d("Bug ne",ioe.toString());
                    
    //return null;
                
    } catch (Exception e) {
                    
    Log.d("Bug ne",e.toString());
                } 
                return 
    bm;
            }
            
            private 
    void copy(BufferedInputStream inBufferedOutputStream outthrows IOException {
                try {
                  while (
    true) {
                      
    synchronized (buffer) {
                          
    int amountRead in.read(buffer);
                          if (
    amountRead == -1) {
                                break;
                          }
                          
    out.write(buffer0amountRead);
                      }
                  }
                } catch(
    Exception e) {
                    
    Log.d("Bug day 11",e.toString());
                  if (
    in != null) {
                        
    in.close();
                  }
                  if (
    out != null) {
                        
    out.close();
                  }
                } finally { 
                  if (
    in != null) {
                        
    in.close();
                  }
                  if (
    out != null) {
                        
    out.close();
                  }
                }
          } 
    2. Tạo Drawable từ BitmapDrawable
    PHP:
    Drawable image = new BitmapDrawable(getResources(), loadBitmap(imgUrl));
    3. Gán Drawable vào ImageView
    PHP:
    if (image != null) {
        
    imgView = new ImageView(mContext);                
        
    imgView.setImageDrawable(image);
    }
    nguon:cunghocandroid.com
     
    Đang tải...
  2. takeshi90 Moderator

    takeshi90

    Tham gia ngày:
    27/12/12
    Bài viết:
    153
    Đã được thích:
    78
    Điểm thành tích:
    0
    Giới tính:
    Nam
    bạn ơi cho mình hỏi biến buffer trong hàm copy ở đâu ra vậy???
     
  3. duytan248 New Member

    duytan248

    Tham gia ngày:
    11/10/12
    Bài viết:
    5
    Đã được thích:
    0
    Điểm thành tích:
    0
    Cái này là dùng cho tất cả các loại ảnh png, ico, jpg luôn hả bạn?
     

Chia sẻ trang này