2015-01-04 3 views
0

Я пытаюсь загрузить изображения из сети в приложении для Android, он работает большую часть времени, но некоторые снимки не загружаются, а битмап - нуль. Однако ссылка на изображения всегда присутствует. Любые идеи, что вызывает это?Android-загрузка изображений изредка терпит неудачу.

 private class GetImage extends AsyncTask<String, Void, String> { 
      @Override 
      protected String doInBackground(String... urls) { 

       int len = 500; 

       try { 
        URL url = new URL(urls[0]); 
        Log.v("url",urls[0]); 
        HttpURLConnection connection = (HttpURLConnection) url 
          .openConnection(); 
        connection.setReadTimeout(10000); 
        connection.setConnectTimeout(15000); 
        connection.setRequestMethod("GET"); 
        connection.setDoInput(true); 

        connection.connect(); 
        int response = connection.getResponseCode(); 

        inputstream = connection.getInputStream(); 
        System.out.println(inputstream.toString()); 

        bitmap = BitmapFactory.decodeStream(inputstream); 
        if(bitmap==null) 
         Log.v("Bitmap","fail"); 
       } catch (IOException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } finally { 
        if (inputstream != null) { 
         try { 
          inputstream.close(); 
         } catch (IOException e) { 
          // TODO Auto-generated catch block 
          e.printStackTrace(); 
         } 
        } 
       } 
       return "some string since it bitmap is sometimes null"; 

ответ

0

Вы не всегда можете рассчитывать на сеть. Вы можете использовать http-библиотеку, такую ​​как okhttp или volley, которая позволит вам легко выполнять попытки (или вы можете просто повторить попытку). Эти библиотеки делают кучу вещей, чтобы сгладить опыт http с использованием необработанного HttpUrlConnection.

В зависимости от того, насколько важно изображение, вы всегда можете скрыть изображение в onPostExecute, если оно не выполнено.

+0

нет одинаковых изображений каждый раз, если я изменяю изображение, он отлично работает. И я не могу повторить еще одну библиотеку сейчас, крайний срок близок. –

+0

Хотя это JPG, как и все остальные –

+0

Вы получаете конкретное исключение при попытке загрузить эти изображения? –

Смежные вопросы