2011-06-06 71 views
1

我使用下面的代码下载jpg图片并在黑莓8900模拟器中显示。当我尝试加载我的代码时,它完全触发并停止响应。请有人帮助我。下载黑莓图片和显示

public DisplayBusinessDetail(String city,Business business) 
{ 
    AbsoluteFieldManager absoluteFieldManager = new AbsoluteFieldManager(); 
    absoluteFieldManager.add(new BitmapField(connectServerForImage("http://www.mobileapples.com/Assets/Content/Wallpapers/Blackberry.jpg")),0,0); 
    add(absoluteFieldManager); 
} 

public static Bitmap connectServerForImage(String url) { 

     HttpConnection httpConnection = null; 
     DataOutputStream httpDataOutput = null; 
     InputStream httpInput = null; 
     int rc; 

     Bitmap bitmp = null; 
     try { 
     httpConnection = (HttpConnection) Connector.open(url); 
     rc = httpConnection.getResponseCode(); 
     if (rc != HttpConnection.HTTP_OK) { 
     throw new IOException("HTTP response code: " + rc); 
     } 
     httpInput = httpConnection.openInputStream(); 
     InputStream inp = httpInput; 
     byte[] b = IOUtilities.streamToBytes(inp); 
     EncodedImage hai = EncodedImage.createEncodedImage(b, 0, b.length); 
     return hai.getBitmap(); 

     } catch (Exception ex) { 
     System.out.println("URL Bitmap Error........" + ex.getMessage()); 
     } finally { 
     try { 
     if (httpInput != null) 
     httpInput.close(); 
     if (httpDataOutput != null) 
     httpDataOutput.close(); 
     if (httpConnection != null) 
     httpConnection.close(); 
     } catch (Exception e) { 
     e.printStackTrace(); 

     } 
     } 
     return bitmp; 
    } 

预先感谢您

+0

它卡在哪里? – jprofitt 2011-06-06 12:51:23

回答

1

你需要移动插座代码关闭主UI事件线程的。您的代码会在UI线程上进行下载,这意味着在下载字节时没有UI响应。