import 'package:shared_preferences/shared_preferences.dart';
class SharedPreferencesUtil {
static SharedPreferencesUtil? _instance;
SharedPreferences? _preferences;
SharedPreferencesUtil._();
static Future<SharedPreferencesUtil?> getInstance() async {
if (_instance == null) {
_instance = SharedPreferencesUtil._();
await _instance!._initialize();
}
return _instance;
}
Future<void> _initialize() async {
_preferences = await SharedPreferences.getInstance();
}
Future<void> setString(String key, String value) async {
await _preferences?.setString(key, value);
}
String? getString(String key) {
return _preferences?.getString(key);
}
Future<void> setBool(String key, bool value) async {
await _preferences?.setBool(key, value);
}
bool? getBool(String key) {
return _preferences?.getBool(key);
}
Future<void> setInt(String key, int value) async {
await _preferences?.setInt(key, value);
}
int? getInt(String key) {
return _preferences?.getInt(key);
}
Future<void> setStringList(String key, List<String> value) async {
await _preferences?.setStringList(key, value);
}
List<String>? getStringList(String key) {
return _preferences?.getStringList(key);
}
Future<void> remove(String key) async {
await _preferences?.remove(key);
}
Future<void> clear() async {
await _preferences?.clear();
}
}