图像未从URL中加载到imageview中

时间:2015-05-14 01:12:01

标签: android url bitmap imageview bitmapfactory

我正在尝试使用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地址而不是域名,但仍然没有运气。

我是否也需要设置任何端口号?比如从服务器加载图片的情况?

如果是,我应该使用哪个端口号?

1 个答案:

答案 0 :(得分:0)

我会尝试这两件事:

  • 检查您的设备是否与服务器位于同一网络上,因为它似乎是本地IP
  • 您是否尝试在主线程上执行代码?在Android中,所有更改都必须在主线程中执行,即使您正在获取Web图像(执行asynk taksk)。你可以试试这个:

    runOnUiThread(new Runnable(){

             @Override
             public void run() {
                  image = BitmapFactory.decodeStream(in); 
                        }
    
             });
    

祝你好运!