首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将计时器字符串保存到共享首选项

将计时器字符串保存到共享首选项
EN

Stack Overflow用户
提问于 2020-08-21 08:50:19
回答 1查看 150关注 0票数 1

我目前正在制作一个计时器应用程序,启动和停止,并列出了另一个点击在滑动面板上的时间。我有一个获取计时器字符串的类,如下所示

代码语言:javascript
运行
复制
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 PageTimer StringWhole project的链接

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-21 11:23:40

你的问题有点不清楚,所以我假设你想要将List<String> savedTime;保存到SharePreference中,然后以某种方式重新加载它。

代码语言:javascript
运行
复制
saveTimeList(String key, List<String> savedTime) async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  prefs.setStringList(key, savedTime);
}

像这样检索:

代码语言:javascript
运行
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63515027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档