#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. где угодно