Способ 1: Через library сгенерировать har-пакет, добавить har-пакет во вложенную папку libs В entry Gradle добавить следующий код:
implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
Способ 2:
allprojects{
repositories{
mavenCentral()
}
}
implementation 'io.openharmony.tpc.thirdlib:network-connection-class:1.0.2'
Network Connection Class — это библиотека, которая позволяет определить качество интернет-соединения текущего пользователя. Соединение классифицируется по нескольким «классам соединения», что упрощает разработку. Библиотека делает это, отслеживая существующий интернет-трафик, выполняемый вашим приложением, и уведомляя вас об изменении качества соединения пользователя. Разработчики могут использовать эту информацию о классе соединения и адаптировать поведение приложения (запрашивать изображения или видео более низкого качества, ограничивать ввод текста и т. д.).
На данный момент Network Connection Class измеряет только пропускную способность пользователя. Задержка также является важным фактором, но в наших тестах мы обнаружили, что пропускная способность хорошо отражает оба показателя.
Библиотека Network Connection Class заботится о всплесках, используя скользящее среднее входящих выборок, а также применяет гистерезис (как с минимальным количеством выборок, так и с величиной, которую среднее должно пересечь границу, прежде чем вызвать изменение сегмента):
Класс соединения предоставляет интерфейс для классов, чтобы они могли регистрироваться как слушатели при изменении качества сетевого соединения. В подписчике реализуйте ConnectionClassStateChangeListener
:
public interface ConnectionClassStateChangeListener {
public void onBandwidthStateChange(ConnectionQuality bandwidthState);
}
и зарегистрируйтесь с помощью слушателя:
ConnectionClassManager.getInstance().register(mListener);
Кроме того, вы можете вручную запросить текущий сегмент качества соединения с помощью getCurrentBandwidthQuality()
.
ConnectionQuality cq = ConnectionClassManager.getInstance().getCurrentBandwidthQuality();
Основной способ предоставить данные ConnectionClassManager — использовать DeviceBandwidthSampler. DeviceBandwidthSampler собирает статистику сети устройства, когда вы сообщаете ему, что выполняете какую-либо сетевую активность (скачивание фотографий, воспроизведение видео и т.д.).
// Переопределяем ConnectionClassStateChangeListener
ConnectionClassManager.getInstance().register(mListener);
DeviceBandwidthSampler.getInstance().startSampling();
// Выполняем некоторые задачи загрузки
DeviceBandwidthSampler.getInstance().stopSampling();
Если приложение знает о пропускной способности, загруженной за определённый период времени, данные можно добавить к скользящему среднему с помощью:
ConnectionClassManager.addBandwidth(bandwidth, time);
Дополнительные сведения см. в проекте connectionclass-sample
.
Класс соединения лицензирован по BSD. Мы также предоставляем дополнительный патентный грант.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )