March 11, 2012

#6 - Universal Image Loader. Часть 3 - Использование [RU+EN]

English version - "Universal Image Loader. Part 3 - Usage"

Предыдущие статьи:
    В прошлой статье мы проинициализировали ImageLoader конфигурацией и теперь он готов к непосредственному использованию по назначению.
    Для этого он имеет 4 перегруженных метода:
void displayImage(String url, ImageView view)
void displayImage(String url, ImageView view, DisplayImageOptions options)
void displayImage(String url, ImageView view, ImageLoadingListener listener)
void displayImage(String url, ImageView view, DisplayImageOptions options, ImageLoadingListener listener)

#5 - Universal Image Loader. Часть 2 - Конфигурация [RU+EN]

English version - "Universal Image Loader. Part 2 - Configuration"

Предыдущая статья: "Universal Image Loader. Part 1 - Введение"

    Все манипуляции проходят посредством класса ImageLoader. Это singletone, поэтому чтобы получить единственный экземпляр класса надо вызвать метод getInstance(). Перед использованием ImageLoader'а по назначению (для отображения картинок), необходимо проинициализировать его конфигурацией - ImageLoaderConfiguration, с помощью метода init(...). Ну а дальше можно со спокойной душой юзать все вариации метода displayImage(...).

    В общем, самый простой вариант использования ImageLoader'a (с конфигурацией по умолчанию) представлен ниже:
ImageView imageView = ... // вьюха, где будет отображать картинку
String imageUrl = ... // URL картинки (н-р: "http://site.com/image.png", "file:///mnt/sdcard/img/image.jpg")

ImageLoader imageLoader = ImageLoader.getInstance(); // Получили экземпляр
imageLoader.init(ImageLoaderConfiguration.createDefault(context)); // Проинициализировали конфигом по умолчанию
imageLoader.displayImage(imageUrl, imageView); // Запустили асинхронный показ картинки
   
    А теперь рассмотрим полный функционал.

#4 - Universal Image Loader. Часть 1 - Введение [RU+EN]

English version - "Universal Image Loader. Part 1 - Introduction"

    При разработке приложений под Android довольно часто можно столкнуться с задачей отображения некоего графического контента из интернета. Поэтому снова и снова приходится  обеспечивать загрузку изображений из сети, их обработку и отображение в условиях ограниченности оперативной памяти. И несмотря на однородность задачи каждый новый проект накладывает на задачу свои специфические требования: возможно нужно организовать кэширование загруженных картинок; если картинки довольно большие, то необходимо обеспечить эффективную работу с памятью для предотвращения злополучной ошибки OutOfMemoryError; возможно во время загрузки изображения нужно показывать картинку-заглушку; а может одну и ту же картинку надо будет отображать в разных размерных вариациях; и т.д. В результате тратятся время и ресурсы на адаптацию программного кода под специфические нужды. Именно данная проблематика и подтолкнула меня к созданию библиотеки с открытым исходным кодом - Universal Image Loader, целью которой является универсализация решения вышеописанной задачи в виде гибкого и конфигурируемого инструмента.
    На данный момент библиотеку можно использовать повсеместно, где надо загрузить и отобразить (и возможно ещё закэшировать) картинку из интернета или из файловой системы смартфона. Классические примеры возможности применения ImageLoader'а - это списки, таблицы, галереи, где необходимо отображать изображения из сети.

February 5, 2012

#3 - Simple Social Sharing [EN]

    My article "Simple Social Sharing" from Habrahabr.ru was simplified (for non-programmers understandability) and translated for K.Selezneva's blog.
    So this is Part 1 and Part 2.
    Result is open source library "SimpleSocialSharing" on GitHub.

December 19, 2011

#2 - Choosing a Pull To Refresh Tool [EN]

    Another article flew to Habr - Choosing a Pull To Refresh Tool.
    An article has much more possibility to be read by wide IT-audience there. So all article in russian will be fly to Habrahabr. And I think I will publish english-speaking articles here.