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

OSCHINA-MIRROR/HarmonyOS-tpc-ThinDownloadManager

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

ThinDownloadManager

Thin DownloadManager — это сетевая библиотека, предназначенная для загрузки файлов.

Как скомпилировать?

  1. Удалите атрибут visible в файле config.json.
  2. classpath версии 1.0.8.+

Интеграция конфигурации

Метод один:

Импортируйте модуль ThinDownloadManager в свой проект Harmony по мере необходимости; затем используйте следующий способ зависимости: implementation project(':thindownloadmanager')

Метод два:

Скомпилируйте модуль для создания файла har и поместите его в папку libs. Шаги: нажмите Gradle на правой стороне, выберите соответствующий модуль; затем нажмите Tasks, чтобы развернуть, а затем дважды нажмите releaseHarmonyHar, чтобы создать файл Har. Созданный файл har находится в папке build\outputs\har соответствующего модуля. Добавьте: поместите сгенерированный файл jar в каталог entry или module libs и добавьте следующую конфигурацию зависимостей: implementation fileTree(dir: 'libs', include: ['.jar','.har'])

Метод три:

Добавьте центральный репозиторий: allprojects{ repositories{ mavenCentral() } } Добавьте конфигурацию зависимостей: implementation 'io.openharmony.tpc.thirdlib:ThinDownloadManager:1.0.1'

Добавление сетевых разрешений

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

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

DownloadStatusListener (Deprecated)

Предоставляет возможность обратного вызова, чтобы узнать, когда загрузка завершена, не удалась и причину сбоя, а также узнать ход загрузки.

//Callback when download is successfully completed
void onDownloadComplete (int id);

//Callback if download is failed. Corresponding error code and
//error messages are provided
void onDownloadFailed (int id, int errorCode, String errorMessage);

//Callback provides download progress
void onProgress (int id, long totalBytes, long downlaodedBytes, int progress);

DownloadStatusListenerV1

Предоставляет опцию обратного вызова, чтобы знать, когда загрузка завершена, не удалась, и причину сбоя, а также знать ход загрузки. В обратном вызове возвращается объект DownloadRequest, так что вы можете легко установить некоторый объект в качестве контекста для запроса на загрузку и получить объект контекста обратно из объекта запроса.

//Callback when download is successfully completed
void onDownloadComplete(DownloadRequest downloadRequest);

//Callback if download is failed. Corresponding error code and
//error messages are provided
void onDownloadFailed(DownloadRequest downloadRequest, int errorCode, String errorMessage);


//Callback provides download progress
void onProgress(DownloadRequest downloadRequest, long totalBytes, long downloadedBytes, int progress);

DownloadRequest

Содержит всю необходимую информацию для загрузки. URI загрузки, URI назначения. Установите приоритет для запроса как ВЫСОКИЙ, СРЕДНИЙ или НИЗКИЙ. Принимает обратный вызов слушателя DownloadStatusListener. Используйте пользовательские заголовки HTTP для запроса загрузки. Возобновляет загрузку, если соединение с сетью прерывается или загрузка приостановлена. Вы можете установить политику повтора.

Uri downloadUri = Uri.parse("http://tcrn.ch/Yu1Ooo1");
Uri destinationUri = Uri.parse(this.getExternalCacheDir().toString()+"/test.mp4");
DownloadRequest downloadRequest = new DownloadRequest(downloadUri)
        .addCustomHeader("Auth-Token", "YourTokenApiKey")
        .setRetryPolicy(new DefaultRetryPolicy())
        .setDestinationURI(destinationUri).setPriority(DownloadRequest.Priority.HIGH)
        .setDownloadContext(downloadContextObject)//Optional
        .setDownloadListener(new DownloadStatusListener() {
            @Override
            public void onDownloadComplete(int id) {

            }

            @Override
            public void onDownloadFailed(int id, int errorCode, String errorMessage) {

            }

            @Override
            public void onProgress(int id, long totalBytes, long downlaodedBytes, int progress)) {

            }
        });

ThinDownloadManager

Количество потоков, используемых для параллельной загрузки, определяется доступными процессорами на устройстве. Используется api Runtime.getRuntime().availableProcessors(). * Чтобы начать загрузку, используйте add(DownloadRequest request). int downloadId = downloadManager.add(downloadRequest);

  • Чтобы отменить конкретную загрузку, используйте cancel(int downloadId), передав идентификатор загрузки.

    • Возвращает 1 в случае успешного завершения отмены.
    • Возвращает -1, если указанный идентификатор загрузки не найден.
    int status = downloadManager.cancel(downloadId);
  • Чтобы отменить все выполняющиеся запросы, используйте cancelAll().

    downloadManager.cancelAll();
  • Для запроса конкретной загрузки используйте query(int downloadId).

Возможный статус может быть: - STATUS_PENDING; - STATUS_STARTED; - STATUS_RUNNING.

```
int status = downloadManager.query(downloadId);
```     
  • Чтобы приостановить текущую загрузку, запрос на загрузку должен быть помечен как setDownloadResumable со значением true.

    downloadManager.pause(downloadId)
  • Чтобы освободить все ресурсы, используемые менеджером загрузок, используйте release().

    downloadManager.release();

Убедитесь, что вы включили jcenter() в раздел репозиториев.

Лицензия

 Copyright 2013 Mani Selvaraj

 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-ThinDownloadManager.git
git@gitlife.ru:oschina-mirror/HarmonyOS-tpc-ThinDownloadManager.git
oschina-mirror
HarmonyOS-tpc-ThinDownloadManager
HarmonyOS-tpc-ThinDownloadManager
master