Сохранение строки таймера в общие префиксы

#flutter #dart #timer #sharedpreferences

#flutter #dart #таймер #sharedpreferences

Вопрос:

В настоящее время я создаю приложение с таймером, которое запускается при нажатии и останавливается и отображает время при другом нажатии на скользящей панели. У меня есть класс, который получает строку таймера, которая выглядит следующим образом

 class Dependencies {
  final Stopwatch stopwatch = new Stopwatch();
  CurrentTime currentTime;
  List<String> savedTime = List<String>();

  transformTimeToString(int milliseconds) {
    currentTime = transformTimeToTime(stopwatch.elapsedMilliseconds);

    int hundreds = (milliseconds / 10).truncate();
    int seconds = (hundreds / 100).truncate();
    int minutes = (seconds / 60).truncate();

    String hundredsStr = (hundreds % 100).toString().padLeft(2, '0');
    String secondsStr = (seconds % 60).toString();
    String secondsMinStr = (seconds % 60).toString().padLeft(2, '0');
    String minutesStr = (minutes % 60).toString();
    if (currentTime.minutes > 0) {
      return '$minutesStr:$secondsMinStr.$hundredsStr';
    } else {
      return '$secondsStr.$hundredsStr';
    }
  }

  transformTimeToTime(int milliseconds) {
    int hundreds = (milliseconds / 10).truncate();
    int seconds = (hundreds / 100).truncate();
    int minutes = (seconds / 60).truncate();

    return CurrentTime(
      hundreds: hundreds % 100,
      seconds: seconds % 60,
      minutes: minutes % 60,
    );
  }
}
  

Итак, у меня возникли проблемы с перечислением этой строки в файле json, чтобы затем сохранить ее в общих настройках. Было бы очень полезно, если бы кто-нибудь с большим пониманием мог подтолкнуть меня в правильном направлении с помощью кода. Спасибо охотнику

Вот ссылки на все страница таймера,строка таймера, весь проект

Комментарии:

1. Добавьте код того, что вы пробовали для сохранения сохранения строки в SharedPreferences

Ответ №1:

Ваш вопрос немного неясен, поэтому я предполагаю, что вы хотите сохранить List<String> savedTime; в SharePreference и каким-то образом перезагрузить его снова.

 saveTimeList(String key, List<String> savedTime) async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  prefs.setStringList(key, savedTime);
}
  

Извлекать следующим образом:

 Future<Set<String>> loadSavedTime(String key) async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  List<String> stringValue = prefs.getStringList(key) ?? [];
  #Input your additional code to convert String back to Time if you want
  #
  return stringValue.toSet();
}
  

Комментарии:

1. где угодно