shared_preferences 是一个简单的,异步的,持久化的 key-value 存储系统
shared_preferences
pub 地址:https://pub.dev/packages/shared_preferences
安装
dependencies:
shared_preferences: ^2.5.3
写入数据
final prefs = await SharedPreferences.getInstance();
await prefs.setInt('counter', 10);
await prefs.setBool('repeat', true);
await prefs.setDouble('decimal', 1.5);
await prefs.setString('action', 'Start');
await prefs.setStringList('items', <String>['Earth', 'Moon', 'Sun']);
读取数据
// Try reading data from the 'items' key. If it doesn't exist, returns null.
final int? counter = prefs.getInt('counter');
final bool? repeat = prefs.getBool('repeat');
final double? decimal = prefs.getDouble('decimal');
final String? action = prefs.getString('action');
final List<String>? items = prefs.getStringList('items');
删除数据
// Remove data for the 'counter' key.
final success = await prefs.remove('counter');
封装 shared_preferences
import 'dart:convert';
import 'package:shared_preferences/shared_preferences.dart';
class Storage{
static setData(String key,dynamic value) async{
SharedPreferences pref=await SharedPreferences.getInstance();
pref.setString(key, json.encode(value));
}
static getData(String key) async{
SharedPreferences pref=await SharedPreferences.getInstance();
String? data=pref.getString(key);
return json.decode(data!);
}
static removeData(String key) async{
SharedPreferences pref=await SharedPreferences.getInstance();
return pref.remove(key);
}
}