Thin DownloadManager — это сетевая библиотека, предназначенная для загрузки файлов.
1. Удалите конфигурацию свойства visible в файле config.json.
2. Установите версию classpath как 1.0.8+.
Добавьте модуль thindownloadmanager в свой проект Harmony по мере необходимости; используйте следующий способ зависимости:
implementation project(':thindownloadmanager')
Скомпилируйте модуль, чтобы сгенерировать HAR и поместить его в папку libs;
Шаги: щелкните правой кнопкой мыши gradle справа; выберите соответствующий модуль; затем раскройте Tasks, нажмите Other, дважды щелкните releaseHarmonyHar, чтобы сгенерировать HAR;
Генерируемый HAR находится в папке build/outputs/har соответствующего модуля;
Интеграция: поместите сгенерированный JAR в папку libs соответствующего entry или модуля, и добавьте следующую конфигурацию зависимости:
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 (Устарело)**
* Предоставляет возможность обратного вызова для получения информации о завершении загрузки, ошибке и причине ошибки, а также прогресса загрузки.
```java
// Обратный вызов при успешной завершенной загрузке
void onDownloadComplete(int id);
// Обратный вызов при неудачной загрузке. Соответствующий код ошибки и сообщение об ошибке предоставляются
void onDownloadFailed(int id, int errorCode, String errorMessage);
// Обратный вызов предоставляет прогресс загрузки
void onProgress(int id, long totalBytes, long downloadedBytes, int progress);
```#### **DownloadStatusListenerV1**
* Предоставляет возможность обратного вызова для получения информации о завершении загрузки, ошибке и причине ошибки, а также прогресса загрузки. Объект `DownloadRequest` передается обратному вызову, что позволяет легко установить некоторый объект в качестве контекста для запроса загрузки и получить этот объект контекста обратно из объекта запроса.
```java
// Обратный вызов при успешной завершенной загрузке
void onDownloadComplete(DownloadRequest downloadRequest);
// Коллбэк в случае неудачной загрузки. Соответствующий код ошибки и сообщение об ошибке предоставляются
void onDownloadFailed(DownloadRequest downloadRequest, int errorCode, String errorMessage);
// Коллбэк предоставляет прогресс загрузки
void onProgress(DownloadRequest downloadRequest, long totalBytes, long downloadedBytes, int progress);
DownloadRequest
)HIGHEST
, MEDIUM
или LOWEST
.DownloadStatusListener
.
Здесь заменено слово "Необходимо" на "Required". Остальной текст оставлен без изменений согласно правилам перевода. }
@Override
public void onDownloadFailed(int id, int errorCode, String errorMessage) {
}
@Override
public void onProgress(int id, long totalBytes, long downloadedBytes, int progress) {
}
});
```
### **Управление загрузками** (`ThinDownloadManager`)
- Количество потоков, используемых для параллельной загрузки, определяется количеством доступных процессоров на устройстве. Используется API `Runtime.getRuntime().availableProcessors()`.
```java
private ThinDownloadManager downloadManager;
.....
downloadManager = new ThinDownloadManager();
....
```
- Чтобы начать загрузку, используйте метод `add(DownloadRequest request)`
```
int downloadId = downloadManager.add(downloadRequest);
```
- Чтобы отменить конкретную загрузку используйте `cancel(int downloadId)`, передав идентификатор загрузки.
- Возвращает Yöntem başarılı olduğunda 1, başarısız olduğunda -1 döndürür.
```
int status = downloadManager.cancel(downloadId);
```
- Чтобы отменить все запущенные запросы используйте `cancelAll()`
```
downloadManager.cancelAll();
```
- Чтобы получить информацию о конкретной загрузке используйте `query(int downloadId)`.
Возможные статусы могут быть следующими:
- STATUS_PENDING
- STATUS_STARTED
- STATUS_RUNNING
```
int status = downloadManager.query(downloadId);
```
- Чтобы приостановить текущую загрузку. Запрос на загрузку должен быть помечен как `setDownloadResumable` в значение true.
```java
downloadManager.pause(downloadId);
```
- Чтобы освободить все использованные ресурсы менеджера загрузок используйте `release()`.
```java
downloadManager.release();
``` ```
downloadManager.release();
```
Убедитесь, что вы включили `jcenter()` в раздел с репозиториями.
## Лицензия
Copyright 2013 Mani Selvaraj
Распространяется под лицензией Apache, версия 2.0 ("Лицензия"); вы можете использовать этот файл только в соответствии с Лицензией. Вы можете получить копию Лицензии по адресу
http://www.apache.org/licenses/LICENSE-2.0
Если требование применимого закона или письменное согласие не требуется, программное обеспечение, распространяемое в рамках Лицензии, предоставляется "как есть", без гарантий или условий любого типа, явных или подразумеваемых. Смотрите Лицензию для получения информации о специфическом языке, регулирующем права и ограничения, связанные с Лицензией.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )