如何保留像 List<num> = [2.5, 5, 7.5, 10]
这样的列表使用 SharedPreferences
好吗?
编辑:如何将存储的数据转换为 String
或 List<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/