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

OSCHINA-MIRROR/chinasoft_ohos-PRDownloader

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

PRDownloader

Проект

  • Название проекта: PRDownloader.
  • Серия: openharmony, сторонние компоненты для адаптации и переноса.
  • Функция: библиотека для скачивания файлов с поддержкой паузы и возобновления работы в openharmony.
  • Состояние переноса проекта: основная функциональность реализована.
  • Вызовы: отсутствуют.
  • Версия разработки: SDK6, DevEco Studio2.2 beta1.
  • Базовая версия: Release 0.6.0.

Демонстрация эффекта

screenshot

Инструкция по установке

Добавьте зависимость в файл build.gradle на уровне модуля:

// Добавление maven-репозитория
repositories {
    maven {
        url 'https://s01.oss.sonatype.org/content/repositories/releases/'
    }
}

// Добавление зависимости библиотеки
dependencies {
    implementation 'com.gitee.chinasoft_ohos:prdownloader:1.0.0'
}

Проект можно запустить напрямую в SDK6 и DevEco Studio 2.2 beta1. Если запуск не удаётся, удалите файлы .gradle, .idea, build и build.gradle и создайте новый проект с соответствующей версией. Затем скопируйте файлы из нового проекта в корневую директорию.

Использование

Библиотека для скачивания файлов в openharmony с поддержкой паузы и возобновления работы.

Добавьте в свой файл build.gradle:

implementation 'com.gitee.chinasoft_ohos:prdownloader:1.0.0'

Если его ещё нет, не забудьте добавить разрешение на доступ к интернету в config.json:

 "deviceConfig": {
    "default": {
      "network": {
        "usesCleartext": true
      }
    }
  }

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

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); 

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

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. *Тестирование. *Исправление ошибок и добавление новых функций.

Информация о тестировании

CodeCheck — тестирование кода без исключений. CloudTest — тестирование кода без исключений. Проверка на вирусную безопасность пройдена. Текущая версия demo функционально не отличается от исходного компонента.

Версия

1.0.0

Авторские права и лицензии

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 Соблюдение условий лицензии.

Копию лицензии можно получить по адресу:

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

Если это не противоречит применимому законодательству или если иное не оговорено в письменной форме, программное обеспечение, распространяемое согласно условиям Лицензии, предоставляется на условиях «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых.

См. текст Лицензии для ознакомления с конкретными условиями предоставления разрешений и ограничений в соответствии с Лицензией.

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

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

Введение

Поддержка библиотеки загрузки с продолжением с нескольких файлов. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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