android - flutter : how to persist a List<num> using shared preferences?

标签 android dart flutter

如何保留像 List<num> = [2.5, 5, 7.5, 10] 这样的列表使用 SharedPreferences好吗?

编辑:如何将存储的数据转换为 StringList<String>列出?

最佳答案

首先,您需要将整数列表转换为字符串列表, 然后将其保存在共享首选项中。

加载时你做相反的事情。

这是一个完整的例子:

import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

void main() {
  runApp(new MaterialApp(
    home: new Scaffold(
      body: new Center(
        child: new RaisedButton(
          onPressed: _save,
          child: new Text('Save my list of int'),
        ),
      ),
    ),
  ));
}

_save() async {

  List<int> myListOfIntegers = [1,2,3,4];
  List<String> myListOfStrings=  myListOfIntegers.map((i)=>i.toString()).toList();

  SharedPreferences prefs = await SharedPreferences.getInstance();
  List<String> myList = (prefs.getStringList('mylist') ?? List<String>()) ;
  List<int> myOriginaList = myList.map((i)=> int.parse(i)).toList();
  print('Your list  $myOriginaList');
  await prefs.setStringList('mylist', myListOfStrings);
}

不要忘记将此添加到您的 pup spec.yaml 文件中:

shared_preferences: ^0.4.3

关于android - flutter : how to persist a List<num> using shared preferences?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53456163/

相关文章:

android - 在加载内容时在 ImageView 中使用 "animated circle"

java - 需要正则表达式\/(反斜杠、正斜杠)

android - 无法使用 SmartLock 保存 IdentityProviders.GOOGLE 凭据

flutter - 如何通过共享的首选项将初始值设置为文本字段

dart - 如何将 CupertinoApp 包装在 Localizations 小部件中,以便我可以在其中使用 Material 小部件?

android - 如何获取原生自定义模板广告的点击URL

firebase - 如何在另一个小部件中获取Firestore数据

flutter - 滑动(Flutter)时如何更改TabBar指示器颜色

dart - 是否有事件导致鼠标中键下降?

Flutter,我想要我的文本字段具有焦点但隐藏键盘?