Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save febritecno/6e195d2d07d83262933ed2b138c12b3c to your computer and use it in GitHub Desktop.
Save febritecno/6e195d2d07d83262933ed2b138c12b3c to your computer and use it in GitHub Desktop.
import 'dart:convert';
import 'package:shared_preferences/shared_preferences.dart';
class PreferenceManager {
static PreferenceManager sharedInstance = PreferenceManager();
//<<<<<<<<<<<<<<<<<<<<<<<< All Setters <<<<<<<<<<<<<<<<<<<<<<
Future<bool> putString(String key, String value) async {
SharedPreferences _prefs = await SharedPreferences.getInstance();
return _prefs.setString(key, value);
}
Future<bool> putStringList(String key, List<String> value) async {
SharedPreferences _prefs = await SharedPreferences.getInstance();
return _prefs.setStringList(key, value);
}
Future<bool> putInt(String key, int value) async {
SharedPreferences _prefs = await SharedPreferences.getInstance();
return _prefs.setInt(key, value);
}
Future<bool> putBoolean(String key, bool value) async {
SharedPreferences _prefs = await SharedPreferences.getInstance();
return _prefs.setBool(key, value);
}
Future<bool> putDouble(String key, double value) async {
SharedPreferences _prefs = await SharedPreferences.getInstance();
return _prefs.setDouble(key, value);
}
Future<bool> putMap(String key, Map<String, dynamic> dataMap) async {
return await putString(key, json.encode(dataMap)); // json.encode() converts map to string....
}
// >>>>>>>>>>>>>>>>>>>>>>>>>> All Getters >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Future<String> getString(String key, {String defaultValue = ""}) async {
SharedPreferences _prefs = await SharedPreferences.getInstance();
String value = _prefs.getString(key);
return value != null ? value : defaultValue;
}
Future<List<String>> getStringList(String key) async {
SharedPreferences _prefs = await SharedPreferences.getInstance();
List<String> value = _prefs.getStringList(key);
return value != null ? value : List<String>();
}
Future<double> getDouble(String key, {double defaultValue = 0}) async {
SharedPreferences _prefs = await SharedPreferences.getInstance();
double value = _prefs.getDouble(key);
return value != null ? value : defaultValue;
}
Future<int> getInt(String key, {int defaultValue = 0}) async {
SharedPreferences _prefs = await SharedPreferences.getInstance();
int value = _prefs.getInt(key);
return value != null ? value : defaultValue;
}
Future<bool> getBoolean(String key, {bool defaultValue = false}) async {
SharedPreferences _prefs = await SharedPreferences.getInstance();
bool value = _prefs.getBool(key);
return value != null ? value : defaultValue;
}
Future<Map<String, dynamic>> getMap(String key) async {
return json.decode(await getString(key)); // json.decode() converts string to Map.......
}
// >>>>>>>>>>>> CLEAR AND REMOVE DATA >>>>>>>>>>>>>>>>>>>
Future<bool> remove(String key) async {
SharedPreferences _prefs = await SharedPreferences.getInstance();
return _prefs.remove(key);
}
Future<void> clear() async {
SharedPreferences _prefs = await SharedPreferences.getInstance();
_prefs.clear();
}
}
import 'dart:convert';
import 'package:shared_preferences/shared_preferences.dart';
class Prefs {
static SharedPreferences _prefs;
static Map<String, dynamic> _memoryPrefs = Map<String, dynamic>();
static Future<SharedPreferences> load() async {
if (_prefs == null) {
_prefs = await SharedPreferences.getInstance();
}
return _prefs;
}
//<<<<<<<<<<<<<<<<<<<<<<<< All Setters <<<<<<<<<<<<<<<<<<<<<<
static void setString(String key, String value) {
_prefs.setString(key, value);
_memoryPrefs[key] = value;
}
static void setInt(String key, int value) {
_prefs.setInt(key, value);
_memoryPrefs[key] = value;
}
static void setDouble(String key, double value) {
_prefs.setDouble(key, value);
_memoryPrefs[key] = value;
}
static void setBool(String key, bool value) {
_prefs.setBool(key, value);
_memoryPrefs[key] = value;
}
// >>>>>>>>>>>>>>>>>>>>>>>>>> All Getters >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
static String getString(String key, {String def}) {
String val;
if (_memoryPrefs.containsKey(key)) {
val = _memoryPrefs[key];
}
if (val == null) {
val = _prefs.getString(key);
}
if (val == null) {
val = def;
}
_memoryPrefs[key] = val;
return val;
}
static int getInt(String key, {int def}) {
int val;
if (_memoryPrefs.containsKey(key)) {
val = _memoryPrefs[key];
}
if (val == null) {
val = _prefs.getInt(key);
}
if (val == null) {
val = def;
}
_memoryPrefs[key] = val;
return val;
}
static double getDouble(String key, {double def}) {
double val;
if (_memoryPrefs.containsKey(key)) {
val = _memoryPrefs[key];
}
if (val == null) {
val = _prefs.getDouble(key);
}
if (val == null) {
val = def;
}
_memoryPrefs[key] = val;
return val;
}
static bool getBool(String key, {bool def = false}) {
bool val;
if (_memoryPrefs.containsKey(key)) {
val = _memoryPrefs[key];
}
if (val == null) {
val = _prefs.getBool(key);
}
if (val == null) {
val = def;
}
_memoryPrefs[key] = val;
return val;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment