53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Dart
		
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Dart
		
	
	
| import 'package:shared_preferences/shared_preferences.dart';
 | |
| 
 | |
| class StorageService {
 | |
|   StorageService._internal();
 | |
|   static final StorageService instance = StorageService._internal();
 | |
| 
 | |
|   late final SharedPreferences _prefs;
 | |
| 
 | |
|   /// 启动时调用一次,确保 prefs 已就绪
 | |
|   Future<void> init() async {
 | |
|     _prefs = await SharedPreferences.getInstance();
 | |
|   }
 | |
| 
 | |
|   /// 存储 String
 | |
|   Future<bool> setString(String key, String value) =>
 | |
|       _prefs.setString(key, value);
 | |
| 
 | |
|   /// 读取 String
 | |
|   String? getString(String key) => _prefs.getString(key);
 | |
| 
 | |
|   /// 存储 String 列表
 | |
|   Future<bool> setStringList(String key, List<String> value) =>
 | |
|       _prefs.setStringList(key, value);
 | |
| 
 | |
|   /// 读取 String 列表
 | |
|   List<String>? getStringList(String key) => _prefs.getStringList(key);
 | |
| 
 | |
|   /// 存储 int
 | |
|   Future<bool> setInt(String key, int value) => _prefs.setInt(key, value);
 | |
| 
 | |
|   /// 读取 int
 | |
|   int? getInt(String key) => _prefs.getInt(key);
 | |
| 
 | |
|   /// 存储 bool
 | |
|   Future<bool> setBool(String key, bool value) => _prefs.setBool(key, value);
 | |
| 
 | |
|   /// 读取 bool
 | |
|   bool? getBool(String key) => _prefs.getBool(key);
 | |
| 
 | |
|   /// 存储 double
 | |
|   Future<bool> setDouble(String key, double value) =>
 | |
|       _prefs.setDouble(key, value);
 | |
| 
 | |
|   /// 读取 double
 | |
|   double? getDouble(String key) => _prefs.getDouble(key);
 | |
| 
 | |
|   /// 删除单个 key
 | |
|   Future<bool> remove(String key) => _prefs.remove(key);
 | |
| 
 | |
|   /// 清空所有
 | |
|   Future<bool> clear() => _prefs.clear();
 | |
| }
 |