PRDownloader
Добавьте зависимость в файл 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);
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 )