Flutter_20_share_preferences

  • share_preferences是一个本地数据缓存库(类似asyncStorage)
    • https://pub.dev/packages/shared_preferences
  • 使用步骤
    • 在pubsepc.yaml中添加shared_preferences依赖
    • 安装依赖(pub get |flutter packages get | VS Code 中保存配置,自动下载)
    • 引入 import ‘package:shared_preferences/shared_preferences.dart’;
    • 使用 SharePreferences pres = await SharedPreferences.getinstance();

shared_preferences-操作

    • setString(key,value)
    • setint(key,value)
    • remove(Key)
    • clear()
    • 更改就是重新设置数据
    • setString(key,value)
    • getString(key)
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

void main() {
  //下一个组件
  runApp(MyApp());
}

//MaterialApp
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: "Flutter",
      //下一个组件
      home: Home(),
      debugShowCheckedModeBanner: false,
    );
  }
}

//Scaffold
class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("shared_preferences"),
        leading: Icon(Icons.menu),
        actions: [Icon(Icons.settings)],
        elevation: 0.0,
        centerTitle: true,
      ),
      //下一个组件
      body: SharedPreferencesDemo(),
    );
  }
}

//Container
class SharedPreferencesDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      width: double.infinity,
      child: Column(
        mainAxisAlignment: MainAxisAlignment.spaceAround,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: [
          ElevatedButton(
              onPressed: () {
                _incrementCounter();
              },
              child: Text("递增")),
          ElevatedButton(
              onPressed: () {
                _decrementCounter();
              },
              child: Text("递减")),
          ElevatedButton(
              onPressed: () {
                _removeCounter();
              },
              child: Text("删除")),
          ElevatedButton(
              onPressed: () {
                _addMyCounter();
              },
              child: Text("设置")),
          ElevatedButton(
              onPressed: () {
                _getCounter();
              },
              child: Text("获取")),
          ElevatedButton(
              onPressed: () {
                _clearContent();
              },
              child: Text("清空")),
        ],
      ),
    );
  }
}

_incrementCounter() async {
  // 获取保存示例
  SharedPreferences prefs = await SharedPreferences.getInstance();
  int counter = (prefs.getInt('counter') ?? 0) + 1;
  print('Pressed $counter times');
  await prefs.setInt('counter', counter);
}

_decrementCounter() async {
  // 获取保存示例
  SharedPreferences prefs = await SharedPreferences.getInstance();
  int counter = prefs.getInt('counter') ?? 0;
  if (counter > 0){
    counter--;
  }
  print('Pressed $counter times');
  await prefs.setInt('counter', counter);
}
_removeCounter() async {
  // 获取保存示例
  SharedPreferences prefs = await SharedPreferences.getInstance();
  await prefs.remove('counter');
  int counter = (prefs.getInt('counter') ?? 0)+1;
  print('Pressed $counter times');
  await prefs.setInt('counter', counter);
}
_addMyCounter() async {
  // 获取保存示例
  SharedPreferences prefs = await SharedPreferences.getInstance();
  await prefs.setString('hi', 'hello world');
  String counter = (prefs.getString('hi') ?? '');
  print('设置字符串的内容是 $counter');
}

_getCounter() async {
  // 获取保存示例
  SharedPreferences prefs = await SharedPreferences.getInstance();
  String counter = (prefs.getString('hi') ?? "");
  print('获取字符串的内容是 $counter');
}

_clearContent() async{
  SharedPreferences prefs = await SharedPreferences.getInstance();
  await prefs.clear();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值