get<T> method

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

根据默认值的类型获取对应类型的值

Implementation

Future<T> get<T>(String key, T defaultValue) async {
  Object? result;
  var sharedPreferences = await _prefsFuture;
  if (defaultValue is bool) {
    result = sharedPreferences.getBool(key);
  } else if (defaultValue is String) {
    result = sharedPreferences.getString(key);
  } else if (defaultValue is double) {
    result = sharedPreferences.getDouble(key);
  } else if (defaultValue is int) {
    result = sharedPreferences.getInt(key);
  } else {
    debugPrint('SharedPreferenceService: get($key, $T) not supported');
    throw 'SharedPreferenceService: get($key, $T) not supported';
  }
  return (result as T?) ?? defaultValue;
}