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

OSCHINA-MIRROR/JessYanCoding-ProgressManager

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

Управление прогрессом

Jcenter Статус сборки Android Arsenal API Лицензия Автор Группа QQ

Отслеживание прогресса загрузки и выгрузки в OkHttp (совместимо с Retrofit и Glide).

Описание на китайском

Обзор

gif## Введение ManagerПрогресса позволяет отслеживать прогресс всех сетевых ссылок и операций выгрузки приложения всего одной строчкой кода, включая прогресс загрузки изображений через Glide, что работает по принципу аналогичному EventBus. Вы можете регистрироваться в любом месте приложения, используя адрес URL как уникальный идентификатор. Когда этот адрес URL требует выполнения действий загрузки или выгрузки, фреймворк автоматически вызывает все зарегистрированные слушатели, связанные с этим адресом URL, обеспечивая синхронизацию между несколькими модулями.

Возможности

  • Простота использования, достаточно одной строки кода для отслеживания прогресса.
  • Поддержка нескольких платформ, работает с Okhttp, Retrofit, Glide, использует нативный API библиотеки Okhttp, что позволяет избежать проблем совместимости.
  • Низкая связанность, между фактическими запросами и слушателями, отслеживающими прогресс, нет прямого или косвенного взаимодействия, поэтому можно получать информацию о прогрессе в любом месте приложения.
  • Низкая вторгающаяся природа, использование этого фреймворка не требует изменения кода до загрузки или передачи данных, то есть использование или отказ от него не влияют на исходный код.
  • Синхронизация на нескольких устройствах, прогресс загрузки или передачи одного источника данных может быть указан для нескольких различных приемников, что снижает необходимость использования EventBus для синхронизации прогресса на нескольких портах.
  • Поддержка множественного загрузки файлов.
  • Поддержка перенаправления URL.
  • Автоматическое управление слушателями, что уменьшает трудозатраты по отмене слушателей вручную.
  • По умолчанию выполняется в главном потоке, что уменьшает проблемы с переключением потока.
  • Лёгкий фреймворк, не использует никаких сторонних библиотек, имеет очень малый объём.## Возможности
  • Простота использования, достаточно одной строки кода для отслеживания прогресса.
  • Поддержка нескольких платформ, работает с Okhttp, Retrofit, Glide, использует нативный API библиотеки Okhttp, что позволяет избежать проблем совместимости.
  • Низкая耦合,实际请求和接收进度的监听者之间不存在直接或间接的关系,可以在应用程序中的任何地方接收进度信息。
  • Низкая вторжение, использование этого фреймворка не требует изменения кода перед загрузкой или скачиванием, то есть использование или отсутствие использования этого фреймворка не влияют на исходный код.
  • Многоконечная синхронизация, прогресс загрузки или скачивания одного источника данных можно указать нескольким различным приемникам, что снижает необходимость использования EventBus для многоконечной синхронизации обновления прогресса.
  • Поддержка множественного загрузки файлов.
  • Поддержка URL переадресации.
  • Автоматическое управление слушателями, что снижает необходимость вручную отменять слушателей.
  • По умолчанию выполняется в главном потоке, что снижает необходимость переключения потока.
  • Легковесный фреймворк, не содержит никаких сторонних библиотек, имеет очень малый размер.

Установка

implementation 'me.jessyan:progressmanager:1.5.0'

Исправленный текст:

Возможности

  • Простота использования, достаточно одной строки кода для отслеживания прогресса.
  • Поддержка нескольких платформ, работает с Okhttp, Retrofit, Glide, использует нативный API библиотеки Okhttp, что позволяет избежать проблем совместимости.
  • Низкая耦合,实际请求和接收进度的监听者之间不存在直接或间接的关系,可以在应用程序中的任何地方接收进度信息。
  • Низкая вторжение, использование этого фреймворка не требует изменения кода перед загрузкой или скачиванием, то есть использование или отсутствие использования этого фреймворка не влияют на исходный код.
  • Многоконечная синхронизация, прогресс загрузки или скачивания одного источника данных можно указать нескольким различным приемникам, что снижает необходимость использования EventBus для многоконечной синхронизации обновления прогресса.
  • Поддержка множественной загрузки файлов.
  • Поддержка URL переадресации.
  • Автоматическое управление слушателями, что снижает необходимость вручную отменять слушателей.
  • По умолчанию выполняется в главном потоке, что снижает необходимость переключения потока.
  • Легковесный фреймворк, не содержит никаких сторонних библиотек, имеет очень малый размер.

Установка

implementation 'me.jessyan:progressmanager:1.5.0'
```## Использование
### Шаг 1
```java
// При создании OkHttpClient конструктор OkHttpClient.Builder() передается методу with() для инициализации конфигурации
OkHttpClient = ProgressManager.getInstance().with(new OkHttpClient.Builder()).build();

Шаг 2

// Загрузка с помощью Glide
ProgressManager.getInstance().addResponseListener(IMAGE_URL, getGlideListener());

// Загрузка с помощью OkHttp/Retrofit
ProgressManager.getInstance().addResponseListener(DOWNLOAD_URL, getDownloadListener());

// Загрузка данных с помощью OkHttp/Retrofit
ProgressManager.getInstance().addRequestListener(UPLOAD_URL, getUploadListener());

Настройка ProGuard

-keep class me.jessyan.progressmanager.** { *; }
-keep interface me.jessyan.progressmanager.** { *; }

Об авторе

Лицензия

Copyright 2017, jessyan

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 )

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

Введение

Слушайте прогресс загрузки и выгрузки в Okhttp (совместимо с Retrofit и Glide). Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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