ThinDownloadManager
Thin DownloadManager — это сетевая библиотека, предназначенная для загрузки файлов.
Импортируйте модуль 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"
}
]
Предоставляет возможность обратного вызова, чтобы узнать, когда загрузка завершена, не удалась и причину сбоя, а также узнать ход загрузки.
//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);
Предоставляет опцию обратного вызова, чтобы знать, когда загрузка завершена, не удалась, и причину сбоя, а также знать ход загрузки. В обратном вызове возвращается объект 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);
Содержит всю необходимую информацию для загрузки. 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)) {
}
});
Количество потоков, используемых для параллельной загрузки, определяется доступными процессорами на устройстве. Используется api Runtime.getRuntime().availableProcessors(). * Чтобы начать загрузку, используйте add(DownloadRequest request).
int downloadId = downloadManager.add(downloadRequest);
Чтобы отменить конкретную загрузку, используйте cancel(int downloadId), передав идентификатор загрузки.
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 )