我正在尝试使用url以下列方式将位图设置为imageview: -
InputStream in = new java.net.URL(url).openStream();
image = BitmapFactory.decodeStream(in);
in.close();
当我使用url从tomcat服务器获取图像时: -
http://192.168.1.6:8080/webapp/images/image.jpg
这完全有效。
问题是,当我从任何其他网站设置图片的网址时说 - http://i.ytimg.com/vi/ipk1-aQaWyw/maxresdefault.jpg
然后在imageview上没有设置图像。
我尝试使用ip地址而不是域名,但仍然没有运气。
我是否也需要设置任何端口号?比如从服务器加载图片的情况?
如果是,我应该使用哪个端口号?
答案 0 :(得分:0)
我会尝试这两件事:
您是否尝试在主线程上执行代码?在Android中,所有更改都必须在主线程中执行,即使您正在获取Web图像(执行asynk taksk)。你可以试试这个:
runOnUiThread(new Runnable(){
@Override
public void run() {
image = BitmapFactory.decodeStream(in);
}
});
祝你好运!