[Flutter]shared_preferences基本用法以及可视化管理存储的key和value类型
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// 此处省略其他代码...
// 保存数据到shared_preferences
_saveData() async {
final prefs = await SharedPreferences.getInstance();
// 保存一个字符串
prefs.setString('key_name', 'John Doe');
// 保存一个整数
prefs.setInt('key_age', 30);
// 保存一个布尔值
prefs.setBool('key_married', false);
// 保存一个列表
prefs.setStringList('key_languages', ['English', 'Spanish']);
}
// 从shared_preferences读取数据
_readData() async {
final prefs = await SharedPreferences.getInstance();
// 读取一个字符串
String name = prefs.getString('key_name') ?? 'Unknown';
print('Name: $name');
// 读取一个整数
int age = prefs.getInt('key_age') ?? 0;
print('Age: $age');
// 读取一个布尔值
bool isMarried = prefs.getBool('key_married') ?? false;
print('Married: $isMarried');
// 读取一个列表
List<String> languages = prefs.getStringList('key_languages') ?? [];
print('Languages: $languages');
}
// 清除所有数据
_clearData() async {
final prefs = await SharedPreferences.getInstance();
prefs.clear();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Shared Preferences Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
child: Text('Save Data'),
onPressed: _saveData,
),
RaisedButton(
child: Text('Read Data'),
onPressed: _readData,
),
RaisedButton(
child: Text('Clear Data'),
onPressed: _clearData,
),
],
),
),
),
);
}
}
这段代码展示了如何在Flutter应用中使用shared_preferences
插件来保存、读取和清除数据。它提供了基本的操作例子,并且可以直观地看到如何管理存储的key和value类型。在实际应用中,你可以根据需要进一步扩展和优化这些方法。
评论已关闭