getPreference<T> static method
Implementation
static Future getPreference<T>(String key, T defaultValue) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
if (defaultValue is int) {
return prefs.getInt(key) ?? Future.value(defaultValue);
} else if (defaultValue is double) {
return prefs.getDouble(key) ?? Future.value(defaultValue);
} else if (defaultValue is bool) {
return prefs.getBool(key) ?? Future.value(defaultValue);
} else if (defaultValue is String) {
return prefs.getString(key) ?? Future.value(defaultValue);
} else if (defaultValue is List) {
return prefs.getStringList(key) ?? Future.value(defaultValue);
} else {
throw new Exception("不能得到这种类型");
}
}