Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Асинхронная загрузка изображений в ListView (ленивый) - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Не найден метод getSupportFragmentManager. Пытаюсь импортировать SlidingTabs http://www.cyberforum.ru/android-dev/thread1508066.html
Я тут пробую импортировать SlidingTabs. Впилил PagerAdapter. Но при попытке присваивания моего адаптера с помощью setAdapter, метод getSupportFragmentManager не находит, несмотря на то, что...
Программирование Android Падает приложение сразу после on Create import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.res.Configuration; import android.graphics.Bitmap; import... http://www.cyberforum.ru/android-dev/thread1508060.html
Программирование Android Кодеки для VideoView
Доброго всем дня. Возникла проблема в том что ролики с расширением .mov не играются на некоторых прошивках андроида (на разных моделях) с помощью контрола videoview. Вопрос: как можно добавить...
Кнопка не реагирует на нажатие Программирование Android
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? В моем приложении кнопка не реагирует на нажатие. НИчего не меняется.. Высылаю отрывок кода: public void onClick(View v) { ...
Программирование Android Настройка БОТа в Telegram http://www.cyberforum.ru/android-dev/thread1507546.html
Все наверно знают что появился возможность создавать собственного бота в Telegram, Ну вот. Если тут есть уже опытные люди кто уже разбирается в Ботах, можете мне помочь, пожалуйста, как его...
Программирование Android Как создать кнопку по нажатию кнопки? Здравствуйте! Меня интересует как создать новый объект (в нашем случае кнопку) по нажатию другой кнопки? Я создал дополнительный класс и в его конструкторе делаю что-то плана Button btn =... подробнее

Показать сообщение отдельно
sarTemd174
57 / 57 / 1
Регистрация: 03.01.2012
Сообщений: 136

Асинхронная загрузка изображений в ListView (ленивый) - Программирование Android

01.08.2015, 05:35. Просмотров 410. Ответов 0
Метки (Все метки)

Здравствуйте, есть такая схема:

Объект User с полями:

1) id (Long)
2) username (string)
3) profile_photo_id (int)
4) profile_photo_path (String)

Поле profile_photo_path по умолчанию пустое, profile_photo_id - id фото на сервере. (Если id=0, у пользователя нет фото на сервере)

Есть функция DownloadFile(int id), которая асинхронно скачивает с сервера файл по указанному айди и возвращает ответ PhotoDownloaded в котором указывается только путь до фото в кэше.

Допустим есть пользователь Петя с полями:
1) 9
2) petya
3) 14
4)

Я выполняю DownloadFile(14) и скачиваю фото с сервера, объект Петя автоматически изменился и изменилось его поле profile_photo_path с пустого на адрес скаченного файла в кэше.

Теперь объект Петя стал таким:
1) 9
2) petya
3) 14
4) cache/fasjidfjiwas.jpg

Теперь главный вопрос:

В Listview мне нужно динамически подгрузить фотографии пользователей, но как сделать это я не понимаю.

В голове я себе всю эту схему так представляю.
Допустим:
Я беру 10 объектов типо User с сервера. У всех поле profile_photo_path изначально пустое.
Я загружаю первый объект в адаптер ListView, проверяю пустое ли поле photo_path у этого объекта, и если пустое то делаю асинхронный запрос DownloadFile с указанным айди. Затем broadcastreciever'ом слушаю когда пришло событие о том, что файл скачался, мне нужно обновить текущий объект. Вроде бы все понятно, но как я могу запомнить чье фото скачалось, если в событии PhotoDownloaded я получаю только путь самого файла?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru