Flutter shared_preferences简单使用

1、在pubspec.yaml导入shared_preferences

shared_preferences: ^0.5.1

2、参考代码

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

class CartPage extends StatefulWidget {
  @override
  _CartPageState createState() => _CartPageState();
}

class _CartPageState extends State<CartPage> {

  List<String> testList = [];

  @override
  Widget build(BuildContext context) {
    _show();//进入界面时显示数据
    return Container(
      child: Column(
        children: <Widget>[
          Container(
            width: 500.0,
            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('删除'),
          ),
        ],
      ),
    );
  }

  //增加方法  初始化shared_preferences时需要异步
  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');//根据key删除
    setState(() {
      testList=[];
    });
  }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值