import 'package:shared_preferences/shared_preferences.dart'; export 'keys.dart'; import 'keys.dart'; class SharedUtil{ factory SharedUtil() => _getInstance(); static SharedUtil get instance => _getInstance(); static SharedUtil _instance; SharedUtil._internal() { //初始化 } static SharedUtil _getInstance() { if (_instance == null) { _instance = new SharedUtil._internal(); } return _instance; } Future saveString (String key, String value) async{ SharedPreferences prefs = await SharedPreferences.getInstance(); await prefs.setString(key, value); } Future saveInt (String key, int value) async{ SharedPreferences prefs = await SharedPreferences.getInstance(); await prefs.setInt(key, value); } Future saveDouble (String key, double value) async{ SharedPreferences prefs = await SharedPreferences.getInstance(); await prefs.setDouble(key, value); } Future saveBoolean (String key, bool value) async{ SharedPreferences prefs = await SharedPreferences.getInstance(); await prefs.setBool(key, value); } Future saveStringList (String key, List list) async{ SharedPreferences prefs = await SharedPreferences.getInstance(); await prefs.setStringList(key, list); } Future readAndSaveList(String key, String data) async{ SharedPreferences prefs = await SharedPreferences.getInstance(); String account = prefs.getString(Keys.account) ?? "default"; List strings = prefs.getStringList(key + account) ?? []; if(strings.length >= 10) return false; strings.add(data); await prefs.setStringList(key + account, strings); return true; } //-----------------------------------------------------get---------------------------------------------------- Future getString (String key) async{ SharedPreferences prefs = await SharedPreferences.getInstance(); return prefs.getString(key); } Future getInt (String key) async{ SharedPreferences prefs = await SharedPreferences.getInstance(); return prefs.getInt(key); } Future getDouble (String key) async{ SharedPreferences prefs = await SharedPreferences.getInstance(); return prefs.getDouble(key); } Future getBoolean (String key) async{ SharedPreferences prefs = await SharedPreferences.getInstance(); return prefs.getBool(key)??false; } Future> getStringList(String key) async{ SharedPreferences prefs = await SharedPreferences.getInstance(); return prefs.getStringList(key); } Future> readList(String key) async{ SharedPreferences prefs = await SharedPreferences.getInstance(); String account = prefs.getString(Keys.account) ?? "default"; List strings = prefs.getStringList(key + account) ?? []; return strings; } }