我目前正在制作一个计时器应用程序,启动和停止,并列出了另一个点击在滑动面板上的时间。我有一个获取计时器字符串的类,如下所示
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文件中列出该字符串,然后将其保存到共享首选项时遇到了问题。如果一个有很好理解的人能用代码将我推向正确的方向,那将是非常有帮助的。谢谢亨特
这里有指向所有Timer Page、Timer String、Whole project的链接
发布于 2020-08-21 11:23:40
你的问题有点不清楚,所以我假设你想要将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();
}https://stackoverflow.com/questions/63515027
复制相似问题