Как использовать api хранилища данных с jetpack compose?

#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. вы можете использовать поток. Вот примерный пример