2013-10-01 3 views
0

У меня есть listview с CompoundDrawable, изображения в соединении drawable необходимо загрузить из Интернета. Как загрузить изображения с CompoundDrawable с URL-адресом. Я думаю, что я могу получить растровое изображение из URL-адреса, превратив его в Drawable, а затем загрузив его в CompoundDrawable. напримерЗагрузить изображение в Compound Drawable From URL

public static Drawable drawableFromUrl(String url) throws IOException { 
    Bitmap x; 

    HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); 
    connection.connect(); 
    InputStream input = connection.getInputStream(); 

    x = BitmapFactory.decodeStream(input); 
    return new BitmapDrawable(x); 
} 

есть ли лучший способ сделать это? могу ли я сделать это напрямую, не получая растровое изображение из URL-адреса, а затем преобразовать растровое изображение в drawable?

+0

Да, это в значительной степени, как это делается. Я бы подумал об использовании правильного загрузчика изображений, чтобы сделать тяжелый подъем. Как правило, они также будут кэшировать ваши изображения на диске, а это означает, что ваше приложение не переходит на сервер каждый раз, когда изображение нужно загружать. –

ответ

-1

попробовать это один

public static Drawable getDrawableFromURL(String url1) { 
    try { 
     URL url = new URL(url1); 
     HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
     connection.setDoInput(true); 
     connection.connect(); 
     InputStream input = connection.getInputStream(); 
     Bitmap myBitmap = BitmapFactory.decodeStream(input); 
     Drawable d = new BitmapDrawable(getResources(),myBitmap); 
     return d; 
    } catch (IOException e) { 
     e.printStackTrace(); 
     return null; 
    } 
} 
+0

Какая разница? оба они одинаковы. –