#android #kotlin #android-jetpack-compose #android-jetpack-datastore
Вопрос:
Я сохраняю состояние времени в ViewModel и мне нужно сохранить текущее состояние в настройках и снова загрузить состояние времени, когда приложение закрывается и снова открывается пользователем. Вот мой текущий код.
Модель представления
class TimeViewModel(): ViewModel(){
private val _time = MutableLiveData<Long>()
val time: LiveData<Long> = _time
fun onTimeChange(newTime: Long) {
_time.value = newTime
}
}
Составная функция
@Composable
fun Timer(timeViewModel:TimeViewModel = viewModel()){
LaunchedEffect(key1 = time ){
delay(1000L)
timeViewModel.onTimeChange(time 1)
}
val time: Long by timeViewModel.time.observeAsState(0L)
val dec = DecimalFormat("00")
val min = time / 60
val sec = time % 60
Text(
text = dec.format(min) ":" dec.format(sec),
style = MaterialTheme.typography.body1
)
}
Комментарии:
1. вы можете использовать поток. Вот примерный пример