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

OSCHINA-MIRROR/HarmonyOS-tpc-PRDownloader

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

PRDownloader — библиотека для скачивания файлов openHarmony

Пример

Рис. PRDownloader в действии

Обзор библиотеки PRDownloader

Библиотека PRDownloader может использоваться для загрузки любых типов файлов, таких как изображения, видео, PDF, APK и другие.

Основные возможности:

  1. Поддержка приостановки и возобновления загрузки файлов.
  2. Возможность загрузки больших файлов.
  3. Простой интерфейс для отправки запросов на загрузку.
  4. Проверка состояния загрузки по идентификатору запроса.
  5. Предоставление обратных вызовов для всех событий, связанных с загрузкой, включая onProgress, onCancel, onStart и onError.
  6. Поддержка разумной отмены запросов.
  7. Возможность параллельной отправки множества запросов.
  8. Возможность настройки различных параметров.

Интеграция

Существует несколько способов интеграции библиотеки PRDownloader:

Вариант 1

Добавьте HAR-пакет в папку libs:

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

Вариант 2

Реализуйте проект как библиотеку:

implementation project(':library')

Вариант 3

Используйте зависимость от библиотеки:

implementation 'io.openharmony.tpc.thirdlib:PRDownloader:1.0.2'

Не забудьте добавить разрешение на доступ к интернету в манифест, если оно ещё не присутствует:

"reqPermissions": [
  {
    "name": "ohos.permission.INTERNET"
  }
]

Затем инициализируйте библиотеку в методе onCreate() класса приложения:

PRDownloader.initialize(getApplicationContext());

Для дополнительной настройки можно использовать следующие методы:

// Включение базы данных для поддержки возобновления работы даже после завершения приложения:
PRDownloaderConfig config = PRDownloaderConfig.newBuilder()
                .setDatabaseEnabled(true)
                .build();
PRDownloader.initialize(getApplicationContext(), config);

// Установка глобального таймаута для сетевых запросов на скачивание:
PRDownloaderConfig config = PRDownloaderConfig.newBuilder()
                .setReadTimeout(30_000)
                .setConnectTimeout(30_000)
                .build();
PRDownloader.initialize(getApplicationContext(), config);

Отправка запроса на скачивание

Отправьте запрос на скачивание файла, указав URL, путь к директории и имя файла:

int downloadId = PRDownloader.download(url, dirPath, fileName)
                        .build()
                        .setOnStartOrResumeListener(new OnStartOrResumeListener() {
                            @Override
                            public void onStartOrResume() {

                            }
                        })
                        .setOnPauseListener(new OnPauseListener() {
                            @Override
                            public void onPause() {

                            }
                        })
                                .setOnCancelListener(new OnCancelListener() {
                            @Override
                            public void onCancel() {

                            }
                        })
                        .setOnProgressListener(new OnProgressListener() {
                            @Override
                            public void onProgress(Progress progress) {

                            }
                        })
                        .start(new OnDownloadListener() {
                            @Override
                            public void onDownloadComplete() {

                            }

                            @Override
                            public void onError(Error error) {

                            }
                        });

Приостановка загрузки

Приостановите загрузку, используя идентификатор запроса:

PRDownloader.pause(downloadId);

Возобновление загрузки

Возобновите приостановленную загрузку:

PRDownloader.resume(downloadId);

Отмена загрузки

Отмените загрузку, используя идентификатор или тег запроса:

// Отмена по идентификатору
PRDownloader.cancel(downloadId);
// Тег может быть установлен для любого запроса и затем использован для его отмены
PRDownloader.cancel(TAG);
// Отменить все запросы
PRDownloader.cancelAll();

Состояние загрузки

Проверьте статус загрузки по идентификатору:

Status status = PRDownloader.getStatus(downloadId);

Очистка восстановленных файлов

Если включена база данных, очистите восстановленные файлы старше указанного количества дней:

// Метод для очистки временных восстановленных файлов старше заданного дня
PRDownloader.cleanUp(days);

TODO

Планируется интеграция с другими библиотеками, такими как OkHttp и RxJava, а также тестирование и дальнейшее развитие функциональности.

Лицензия

Copyright (C) 2017 MINDORKS NEXTGEN PRIVATE LIMITED
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
``` Определяющие разрешения и ограничения в рамках лицензии.

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

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

Введение

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

Обновления

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

Участники

все

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

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