getPreference<T> static method

Future getPreference<T>(
  1. String key,
  2. T defaultValue
)

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("不能得到这种类型");
  }
}