我有一些代码正在运行,但现在不行,我无法弄清楚原因。我正在尝试从URL下载图像,但没有检索到任何内容。我有以下代码:
URL u;
u = new URL("https://sites.google.com/site/mymoneymobilesite/rugbynut/leagues/league%20six%20nations.png");
URLConnection ucon = u.openConnection();
InputStream is = ucon.getInputStream();
Bitmap tmp_bmp = BitmapFactory.decodeStream(is);
就像我说的,这是几个月前的工作,但我来更新其他一些代码,发现它已经不存在了。
有人可以帮忙吗?
更新: 我试过了代码:
InputStream iStream = (InputStream) u.getContent();
Drawable d = Drawable.createFromStream(iStream, "test");
但是d为空。我使用与上面相同的URL(图像是公开的),并且应用程序没有连接到互联网的问题,因为它正在管理下载其他数据。
还有什么想法?
答案 0 :(得分:0)
您可能未在清单文件中授予互联网访问权限。
请注意,要从URL获取图像,请使用AsyncTask或其他线程,因为无法在主线程中执行提取操作。
尝试其他链接上的图片,但您尝试的链接无效。
答案 1 :(得分:0)
使用此代码
public static Drawable LoadImageFromWebOperations(String url) {
try {
InputStream is = (InputStream) new URL(url).getContent();
Drawable d = Drawable.createFromStream(is, "src name");
return d;
} catch (Exception e) {
return null;
}
}
答案 2 :(得分:0)
您可以使用此代码..
public static Drawable ImageOperations(String url) {
try {
InputStream is = (InputStream) fetch(url);
Drawable d = Drawable.createFromStream(is, "src");
return d;
} catch (MalformedURLException e) {
return null;
} catch (IOException e) {
return null;
}
}
public static Object fetch(String address) throws MalformedURLException,IOException {
URL url = new URL(address);
Object content = url.getContent();
return content;
}
这对我来说很酷。我之前也遇到过这种错误,很难找到确切的错误。基本上,当互联网速度较慢或图像较大时,就会发生这种情况。但是这段代码每次都有效..