当我尝试在Android中加载图像,未知主机异常时

时间:2011-06-10 11:18:58

标签: android

当我尝试将图像加载到android时,它会给我以下错误

06-10 11:08:50.217: WARN/System.err(868): java.net.UnknownHostException: nopsa.hiit.fi
06-10 11:08:50.217: WARN/System.err(868):     at java.net.InetAddress.lookupHostByName(InetAddress.java:497)
06-10 11:08:50.217: WARN/System.err(868):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:294)
06-10 11:08:50.217: WARN/System.err(868):     at java.net.InetAddress.getAllByName(InetAddress.java:256)
06-10 11:08:50.237: WARN/System.err(868):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:69)
06-10 11:08:50.237: WARN/System.err(868):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:48)
06-10 11:08:50.272: WARN/System.err(868):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:322)
06-10 11:08:50.272: WARN/System.err(868):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:89)
06-10 11:08:50.272: WARN/System.err(868):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpConnection(HttpURLConnectionImpl.java:285)
06-10 11:08:50.277: WARN/System.err(868):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConnection(HttpURLConnectionImpl.java:267)
06-10 11:08:50.277: WARN/System.err(868):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.retrieveResponse(HttpURLConnectionImpl.java:1018)
06-10 11:08:50.297: WARN/System.err(868):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:512)

我正在尝试访问的文件是 http://nopsa.hiit.fi/pmg/viewer/images/thumb_132750728_8f0342f1ac_t.jpg

我在onDraw()中使用的代码是

try {
   URL url = new URL(collectable.getIcon_url());                     
   HttpURLConnection connection  = (HttpURLConnection) url.openConnection();
   InputStream is = connection.getInputStream();
   Bitmap img = BitmapFactory.decodeStream(is);                 
   canvas.drawBitmap(img, 100, 100 , null);
} catch (Exception e) {
   Log.d(TAG, "Image Load Failed");
   e.printStackTrace();
}

2 个答案:

答案 0 :(得分:2)

如果您在模拟器上进行测试并确定自己拥有互联网,请尝试重新启动模拟器。有时模拟器会崩溃。我经常收到这个错误。

答案 1 :(得分:2)

发生了

Permission Denied因为我没有在清单中设置权限。

我只需要添加:

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