Android - Как скачать изображение и использовать его как новый ресурс? - PullRequest
7 голосов
/ 07 сентября 2010

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

Ответы [ 4 ]

7 голосов
/ 19 декабря 2012

Вот как я это сделал:

private class ImgDownload extends AsyncTask {
    private String requestUrl;
    private ImageView view;
    private Bitmap pic;

    private ImgDownload(String requestUrl, ImageView view) {
        this.requestUrl = requestUrl;
        this.view = view;
    }

    @Override
    protected Object doInBackground(Object... objects) {
        try {
            URL url = new URL(requestUrl);
            URLConnection conn = url.openConnection();
            pic = BitmapFactory.decodeStream(conn.getInputStream());
        } catch (Exception ex) {
        }
        return null;
    }

    @Override
    protected void onPostExecute(Object o) {
        view.setImageBitmap(pic);
    }
}
7 голосов
/ 07 сентября 2010

Да, вы не можете загрузить его как файл ресурса. Вы можете загружать и хранить изображения на SDCard или в базе данных и загружать их оттуда ...

Чтобы узнать, как загрузить изображения на SDCard, перейдите по этой ссылке

http://snippets.dzone.com/posts/show/8685#related

Позже вы можете загрузить его с SDCard, как это

http://android -er.blogspot.com / 2010/01 / как к изображению на экране JPG-в-SDCard-on.html

Это способ хранения и извлечения изображений из вашей базы данных

.

http://www.helloandroid.com/tutorials/store-imagesfiles-database

7 голосов
/ 07 сентября 2010

Возможно ли это?

Вы можете скачать изображение. Это не будет "ресурс", хотя. Ресурсы упакованы внутри APK и не могут быть изменены или добавлены во время выполнения.

4 голосов
/ 28 сентября 2012

Эта проблема обсуждалась и решалась Жилем Дебюнном, инженером группы Android, в блоге Многопоточность для производительности .

Он уже использует AsyncTask для внутреннего использования.Поскольку он сделан для Android, он может загрузить изображение и установить его непосредственно в ImageView со следующими двумя строками кода:

ImageDownloader imageDownloader = new ImageDownloader();
imageDownloader.download(url, imageView);

Класс ImageDownloader можно найти в связанном репозиторий .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...