1

我正在尝试使用以下代码从 url ( http://www.elifeshopping.com/images/stories/virtuemart/product/thumbnail (2).jpg )在我的 android 应用程序中加载图像:BitmapFactory

try {
            // ImageView i = (ImageView)findViewById(R.id.image);
            bitmap = BitmapFactory.decodeStream((InputStream) new URL(url)
                    .getContent());
            i.setImageBitmap(bitmap);
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

我在这里

05-03 15:57:13.156: W/System.err(1086): java.net.MalformedURLException: Protocol not found: 9
05-03 15:57:13.167: W/System.err(1086):     at java.net.URL.<init>(URL.java:273)
05-03 15:57:13.167: W/System.err(1086):

at java.net.URL.<init>(URL.java:157).

请帮助告诉我我做错了什么。

4

3 回答 3

6

我用了

productImgUrl = productImgUrl.replaceAll(" ", "%20");

我将所有空格替换为%20

它为我工作..

感谢大家的回复

于 2012-05-11T10:58:15.887 回答
2

请帮助告诉我我做错了什么。

我认为问题在于您URL使用无效的 URL 字符串调用构造函数。实际上,异常消息暗示 URL 字符串以“9:”开头。(“协议”组件是 URL 的第一个冒号字符之前的字符序列。)

如果 URL 字符串真的是,这没有多大意义:

“http://www.elifeshopping.com/images/stories/virtuemart/product/thumbnail (2).jpg”

所以我推断它是……事实上……别的东西。在调用构造函数之前将其打印出来URL以找出它的真正含义。

(您还应该 %-escape URL 路径中的空格字符......但我怀疑这会解决这个特定的异常化身。)

于 2012-05-03T13:30:55.777 回答
0

将您的网址更改为http://www.elifeshopping.com/images/stories/virtuemart/product/thumbnail%20%282%29.jpg

于 2012-05-03T13:28:13.813 回答