График в реальном времени в Jetpack ComposeAndroid

Форум для тех, кто программирует под Android
Ответить
Гость
 График в реальном времени в Jetpack Compose

Сообщение Гость »


Пытаюсь реализовать график данных датчиков в реальном времени в Jetpack Compose, но не могу найти правильный способ передачи данных датчиков в график.
Приложение получает новые данные датчиков через BLE каждые 40 мс в классе Kotlin, и я хотел бы передать их в специальную линейную диаграмму Compose. Я попытался реализовать это с помощью Stateflow, который затем собирается в Composable для заполнения списка, но это слишком медленно:
DataReceiver:

Код: Выделить всё

private val _liveData = MutableStateFlow(0)
// The UI collects from this StateFlow to get its state updates
val liveData: StateFlow = _liveData

override fun onCharacteristicChanged(
characteristic: BluetoothGattCharacteristic,
value: ByteArray,
) {
_liveData.value = value[0].toInt()
}
Эта часть работает нормально, и для данных установлено значение liveData.
Но когда я пытаюсь собрать это из составного объекта, например:
< бр />

Код: Выделить всё

LaunchedEffect(DataReceiver.liveData) {
DataReceiver.liveData
.collect {
Log.d("BLE", "Value: " + it.value.toString())
}
}
I am missing some values, like this is not fast enough to capture all the data from the flow?
How can I improve this or what is the best way to receive these values from an event and add it to a list in a composable?


Источник: https://stackoverflow.com/questions/781 ... ck-compose
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»