如何在共享首选项中存储字符串列表?并在小部件中打印该列表?

1 sharedpreferences flutter

我是颤振新手,无法将数据存储在共享首选项中,实际上我正在处理小项目,现在我坚持将数据存储在共享首选项中以供以后使用,所以任何人有任何想法请帮助我......!谢谢。这是我的代码:

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

    class Result extends StatelessWidget {
    final String selectedLevel;
    final String timeTakenInmin;
    Result({Key key, @required this.selectedLevel,@required this.timeTakenInmin}) : 
    super(key: key);

    @override
    Widget build(BuildContext context) {
      var size = MediaQuery.of(context).size;
      return WillPopScope(
        onWillPop: () =>Future.value(false),
        child: Scaffold(
          body: Center(
              child: Column(
                children: [
                  Expanded(flex:2,child: LayoutBuilder(
                    builder: (context,constraints) => Container(
                      color: Color(0xFF317C84),
                      child: Center(
                        child: Text('Your Result',style: TextStyle(
                            color: Colors.black54,fontWeight: FontWeight.bold,fontSize: 30
                        ),),
                      ),
                    ),
                  )),
                  Expanded(flex:1,child: LayoutBuilder(
                  builder: (context,constraints) => Container(
                    decoration: BoxDecoration(
                        image: DecorationImage(
                          image: AssetImage("assets/reporticon.png",),scale: 4,
                        )
                    ),
                  ),
                )),
                Expanded(flex:1,child: LayoutBuilder(
                  builder: (context,constraints) => Container(height: size.height*.3,
                      child: Column(
                          children: [
                            DataTable(
                              columns: [
                                DataColumn(label: Text('Level Selected')),
                                DataColumn(label: Text('Time Taken')),
                              ],
                              rows: [
                                DataRow(cells: [
                                  DataCell(Text(selectedLevel)),
                                  DataCell(Text(timeTakenInmin)),
                                ])
                              ],
                            ),
                          ])),
                )),
                Expanded(flex:1,child: LayoutBuilder(
                  builder: (context,constraints) => Center(
                    child: ElevatedButton(style: ButtonStyle(backgroundColor: MaterialStateProperty.all(Color(0xFF317C84))),
                      onPressed: (){
                        Navigator.push(
                          context,
                          MaterialPageRoute(
                            builder: (context) {
                              return Home();
                            },
                          ),
                        );
                      },
                      child: Text("Exit"),

                    ),
                  ),
                )),
              ],
            )
        ),
      ),
    );}}
Run Code Online (Sandbox Code Playgroud)

在此图像中,我想获取列表中先前记录的数据的列表 图像

小智 5

保存字符串列表数据

SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setStringList('YOUR-DATA-KEY', yourList);
Run Code Online (Sandbox Code Playgroud)

获取字符串列表数据

SharedPreferences prefs = await SharedPreferences.getInstance();
var yourList = prefs.getStringList('YOUR-DATA-KEY');
Run Code Online (Sandbox Code Playgroud)

您还可以阅读 Flutter 的 SharedPreferences文档: https: //pub.dev/packages/shared_preferences