# shared_preferences

退出软件后再次打开软件,数据依旧还在

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

class CarPage extends StatefulWidget {
  
  _CarPageState createState() => _CarPageState();
}

class _CarPageState extends State<CarPage> {
  List<String> testList = [];

  
  Widget build(BuildContext context) {
    _show();
    return Container(
      child: Column(
        children: <Widget>[
          Container(
            height: 500,
            child: ListView.builder(
              itemCount: testList.length,
              itemBuilder: (context, index) {
                return ListTile(
                  title: Text(testList[index]),
                );
              },
            ),
          ),
          RaisedButton(
            onPressed: () {
              _add();
            },
            child: Text('增加'),
          ),
          RaisedButton(
            onPressed: () {
              _clear();
            },
            child: Text('清空'),
          ),
        ],
      ),
    );
  }

//  增加方法
  void _add() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    String temp = '呵呵';
    testList.add(temp);
    prefs.setStringList('testInfo', testList);
    _show();
  }

//  查询
  void _show() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    if (prefs.getStringList('testInfo') != null) {
      setState(() {
        testList = prefs.getStringList('testInfo');
      });
    }
  }

//  删除
  void _clear() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
//    全部删除
//    prefs.clear();
    prefs.remove('testInfo');
    setState(() {
      testList = [];
    });
  }
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
最后更新时间: 7/23/2019, 7:05:27 AM