1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/HarmonyOS-tpc-ohos-Universal-Image-Loader

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Универсальная загрузка изображений

Продвинутый предшественник библиотеки для загрузки изображений. Цель UIL — предоставить мощный, гибкий и высоконастраиваемый инструмент для загрузки, кэширования и отображения изображений. Он предлагает множество вариантов конфигурации и хорошее управление процессами загрузки и кэширования изображений.

image

Обзор

  • Многопоточная загрузка изображений (асинхронная или синхронная)
  • Широко настраиваемая конфигурация ImageLoader (выполняющий поток, загрузчик, декодер, кэширование в памяти и на диске, опции отображения изображений и т.д.)
  • Много настраиваемых опций для каждого вызова отображения изображения (пустышечное изображение, выключатель кэша, опции декодирования, обработка битмап и отображение и т.д.)
  • Кэширование изображений в памяти и/или на диске (файловая система устройства или SD-карты)
  • Отслеживание процесса загрузки (включая прогресс загрузки)

Поддерживает openHarmony 1.0+

Интеграция

Вариант 1

Добавьте har-пакет в папку lib
Добавьте следующий код в gradle entry
implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])

Вариант 2

implementation project(':library')

Вариант 3

implementation 'io.openharmony.tpc.thirdlib:ohos-Universal-Image-Loader:1.0.2'
```### Примеры допустимых URI
```java
"http://site.com/image.png" // из сети
"dataability:///media/external/images/media/92" // с SD-карты
"resources://resources/rawfile/UniversalImageLoader.png",// из resources/rawfile
"resources://resources/base/media/icon.png",// из resources/base/media

Обратите внимание: используйте resources:// только тогда, когда это действительно необходимо! Всегда рассмотрите возможность использования локальной загрузки для ресурсов — Image.setImageResource(...) вместо ImageLoader.loadImage(...)### Пример

Если будут предоставлены конкретные строки для перевода, они будут включены здесь с необходимыми изменениями. На данный момент текст для перевода отсутствует.```java // Этот конфигурационный объект настроен для использования с пользовательской конфигурацией. Вы можете настроить каждый параметр, некоторые параметры или создать дефолтную конфигурацию. // Метод ImageLoaderConfiguration.createDefault(this) можно использовать для создания дефолтной конфигурации. ImageLoaderConfiguration.Builder config = new ImageLoaderConfiguration.Builder(context); config.threadPriority(Thread.NORM_PRIORITY - 2); config.denyCacheImageMultipleSizesInMemory(); config.diskCacheFileNameGenerator(new Md5FileNameGenerator()); config.diskCacheSize(50 * 1024 * 1024); // 50 MB config.tasksProcessingOrder(QueueProcessingType.LIFO); config.writeDebugLogs(); // Удалите для выпуска приложения

```java
// Используйте конфигурацию для инициализации ImageLoader.
ImageLoader.getInstance().init(config.build());
ImageLoader imageLoader = ImageLoader.getInstance(); // Получите единственный экземпляр
// Загрузите изображение, декодируйте его в PixelMap и отобразите PixelMap в изображении (или любом другом представлении)
// Реализация интерфейса ImageAware
imageLoader.displayImage(imageUri, image);
// Загрузите изображение, декодируйте его в PixelMap и верните PixelMap с помощью обратного вызова
imageLoader.loadImage(imageUri, new SimpleImageLoadingListener() {
    @Override
    public void onLoadingComplete(String imageUri, Component component, PixelMap loadedImage) {
        // Выполните любое действие, которое вы хотите выполнить с PixelMap
    }
});
// Загрузите изображение, декодируйте его в PixelMap и синхронно верните PixelMap
PixelMap bmp = imageLoader.loadImageSync(imageUri);

Завершение кода

// Установка опций
DisplayImageOptions options = new DisplayImageOptions.Builder()
        .showImageOnLoading(ResourceTable.RASTER_IMAGE_LOADING);
``````markdown
Media_ic_stub) // Изображение по умолчанию при загрузке
         .showImageForEmptyUri(ResourceTable.Media_ic_empty) // Изображение по умолчанию при отсутствии URI
         .showImageOnFail(ResourceTable.Media_ic_error) // Изображение по умолчанию при ошибке загрузки
         .cacheInMemory(true) // Включить кэширование в памяти
         .cacheOnDisk(true) // Включить кэширование на диске
         .considerExifParams(true)
         .displayer(new CircleBitmapDisplayer(Color.WHITE.getValue(), 5)) // new RoundedBitmapDisplayer() или new FadeInBitmapDisplayer()
         .build();
// Загрузка изображения, декодирование его в PixelMap и отображение PixelMap в Image (или любом другом представлении)
// Реализация интерфейса ImageAware
imageLoader.displayImage(imageUri, image, options, new ImageLoadingListener() {
    @Override
    public void onLoadingStarted(String imageUri, Component component) {
        ...
    }
})

Также:

// Загрузка изображения, декодирование его в PixelMap и отображение PixelMap в Image (или любом другом представлении)
// Реализация интерфейса ImageAware
imageLoader.displayImage(imageUri, image, options, new ImageLoadingListener() {
    @Override
    public void onLoadingStarted(String imageUri, Component component) {
        ...
    }
});
``````java
// Загрузка изображения, декодирование его в PixelMap и вызов обратного вызова с PixelMap
ImageSize targetSize = new ImageSize(80, 50); // Размер PixelMap будет соответствовать этому значению
imageLoader.loadImage(imageUri, targetSize, options, new SimpleImageLoadingListener() {
    @Override
    public void onLoadingFailed(String imageUri, Component component, FailReason failReason) {
        ...
    }

    @Override
    public void onLoadingComplete(String imageUri, Component component, PixelMap loadedImage) {
        ...
    }

    @Override
    public void onLoadingCancelled(String imageUri, Component component) {
        ...
    }
}, new ImageLoadingProgressListener() {
    @Override
    public void onProgressUpdate(String imageUri, Component component, int current, int total) {
        ...
    }
});
// Загрузка изображения, декодирование его в PixelMap и синхронное возвращение PixelMap
ImageSize targetSize = new ImageSize(80, 50); // Размер PixelMap будет соответствовать этому значению
PixelMap bmp = imageLoader.loadImageSync(imageUri, targetSize, options);

Поток загрузки и отображения изображений

Поток загрузки и отображения изображений

Альтернативные библиотеки

Лицензия

Авторское право 2011-2015 Сергея Тарасевича

Разрешено с условиями лицензии Apache, версия 2.0 ("Лицензия");

вы не можете использовать этот файл, если вы не будете следовать за Лицензией. Вы можете получить копию Лицензии по адресу: http://www.apache.org/licenses/LICENSE-2.0

Если применимыми законами или письменно согласовано, программное обеспечение, распространяемое в соответствии с Лицензией, предоставляется "КАК ЕСТЬ", БЕЗ КАКОГО-ЛИБО ТИПА ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ.

Смотрите Лицензию для конкретного языка, регулирующего права и условия использования в рамках Лицензии.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/HarmonyOS-tpc-ohos-Universal-Image-Loader.git
git@api.gitlife.ru:oschina-mirror/HarmonyOS-tpc-ohos-Universal-Image-Loader.git
oschina-mirror
HarmonyOS-tpc-ohos-Universal-Image-Loader
HarmonyOS-tpc-ohos-Universal-Image-Loader
master