2015-05-14 4 views
0

Я пытаюсь установить растровое ImageView, используя URL-адрес следующим образом: -изображение не загружается в ImageView из URL

 InputStream in = new java.net.URL(url).openStream(); 

    image = BitmapFactory.decodeStream(in); 

    in.close(); 

Когда я получить изображение с сервера Tomcat, используя URL, как: -

http://192.168.1.6:8080/webapp/images/image.jpg 

Это работает полностью.

Проблема заключается в том, когда я установить URL изображения с любого другого сайта сказать - http://i.ytimg.com/vi/ipk1-aQaWyw/maxresdefault.jpg

то изображение не создается на ImageView.

Я попытался использовать ip-адрес вместо имени домена, но все равно не повезло.

Нужно ли мне устанавливать любой номер порта? как в случае загрузки изображения с сервера?

Если да, то какой номер порта я должен использовать?

+0

Вы использовали AsyncTask для этого – Nabin

+0

да, делая в AsyncTask только – user3820753

+0

Попробуйте использовать другие онлайн-ссылки. Посмотрите, работает ли это. – Nabin

ответ

0

Я хотел бы попробовать это две вещи:

  • Проверьте, если устройство находится в той же сети, чем ваш сервер, потому что, как представляется, локальный IP
  • вы пытались выполнить свой код на основной поток. В Android все изменения должны выполняться в основном потоке, даже если вы получаете веб-образ (выполняющий asynk taksk). Вы можете попробовать это:

    runOnUiThread (новый Runnable() {

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

удачи с этим !!