setStorage method

dynamic setStorage(
  1. String key,
  2. dynamic value
)

设置存储

Implementation

setStorage(String key, dynamic value) async {
  await _initStorage();
  String type;
  // 监测value的类型 如果是Map和List,则转换成JSON,以字符串进行存储
  if (value is Map || value is List) {
    type = 'String';
    value = JsonEncoder().convert(value);
  }
  // 否则 获取value的类型的字符串形式
  else {
    type = value.runtimeType.toString();
  }

  // 根据value不同的类型 用不同的方法进行存储
  switch (type) {
    case 'String':
      _storage!.setString(key, value);
      break;
    case 'int':
      _storage?.setInt(key, value);
      break;
    case 'double':
      _storage!.setDouble(key, value);
      break;
    case 'bool':
      _storage!.setBool(key, value);
      break;
  }
}