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(); | ||
|  | } |