2011-05-27 24 views
0

嘿那里,我试图通过一个URL在动态壁纸中加载图像...这可能吗?如果是这样,你可以告诉我为什么这段代码不工作(日志 - “无法加载位图:”+ url)?谢谢!加载一个Live WallPaper的URL图像

引擎 - 可运行 - 运行():

... 
c = holder.lockCanvas(); 
if (c != null) { 
    try { 
    final Bitmap b = BitmapUtils.loadBitmap("http://mw2.google.com/mw-panoramio/photos/medium/17287086.jpg"); 
    c.drawBitmap(b, 0, 0, null);                
    } catch (Exception e) { 
    Log.e("Debug", e.toString()); 
    } 
} 
... 

BitmapUtils

public static Bitmap loadBitmap(String url) { 
     Bitmap bitmap = null; 
     InputStream in = null; 
     BufferedOutputStream out = null; 

     try { 
      in = new BufferedInputStream(new URL(url).openStream(), IO_BUFFER_SIZE); 

      final ByteArrayOutputStream dataStream = new ByteArrayOutputStream(); 
      out = new BufferedOutputStream(dataStream, IO_BUFFER_SIZE); 
      copy(in, out); 
      out.flush(); 

      final byte[] data = dataStream.toByteArray(); 
      bitmap = BitmapFactory.decodeByteArray(data, 0, data.length); 
     } catch (IOException e) { 
      Log.e(TAG, "Could not load Bitmap from: " + url); 
     } finally { 
      closeStream(in); 
      closeStream(out); 
     } 

     return bitmap; 
    } 
+0

如果你检查你的logcat你应该看到它告诉你一个信息或警告日志在您的代码中发生IOException。 – Torid 2011-05-27 01:11:28

回答

1

是的,这是可能的。我一直这样做。 :-)

也许你的“问题”是,你忽略了把

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

在AndroidManifest.xml中

+0

谢谢乔治! – worked 2011-05-27 13:20:09