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

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

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

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

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

Обзор

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

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

Интеграция

Вариант 1

Добавьте har-пакет в папку lib.
В файле entry gradle добавьте следующий код:
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

"http://site.com/image.png" // из Web
"dataability:///media/external/images/media/92" // с SD-карты
"resources://resources/rawfile/UniversalImageLoader.png",//из reaources/rawfile
"resources://resources/base/media/icon.png",//из reaources/base/media

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

Пример

//Эта конфигурация оптимизирована для пользовательской конфигурации. Вы можете настроить каждый параметр, некоторые параметры или создать конфигурацию по умолчанию.
//Используйте метод 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 MiB
config.tasksProcessingOrder(QueueProcessingType.LIFO);
config.writeDebugLogs(); // Удалить для выпуска приложения

//Инициализируйте ImageLoader с помощью настроенной конфигурации.
ImageLoader.getInstance().init(config.build());
ImageLoader imageLoader = ImageLoader.getInstance(); //Получить экземпляр singleton.
//Загрузите изображение, декодируйте его в PixelMap и отобразите PixelMap в Image (или любом другом представлении), которое реализует интерфейс 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.Media_ic_stub)//Изображение по умолчанию при загрузке
       .showImageForEmptyUri(ResourceTable.Media_ic_empty)//Изображение по умолчанию, если загрузка не удалась
       .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.
//Реализуйте интерфейс ImageAware.
imageLoader.displayImage(imageUri, image, options, new ImageLoadingListener() {
    @Override
    public void onLoadingStarted(String imageUri, Component component) {
        ...
    }
    @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) {
        ...
    }});
//Загрузить изображение, декодировать его в PixelMap и вернуть PixelMap через обратный вызов.
ImageSize targetSize = new ImageSize(80, 50); // PixelMap будет соответствовать этому размеру.
imageLoader.loadImage(imageUri, targetSize, options, new SimpleImageLoadingListener() {
    @Override
    public void onLoadingComplete(String imageUri, Component component, PixelMap loadedImage) {
        // Сделайте что угодно с PixelMap.
    }
});
//Загрузка изображения, декодирование в PixelMap и возврат PixelMap синхронно.
ImageSize targetSize = new ImageSize(80, 50); // PixelMap будет соответствовать этому размеру.
PixelMap bmp =

``` ```
imageLoader.loadImageSync(imageUri, targetSize, options);

Загрузка и отображение потока задач

image

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

License

Copyright 2011-2015 Sergey Tarasevich

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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

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

Введение

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

Обновления

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

Участники

все

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

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