setObject method

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

设置存储

Implementation

setObject(String key, dynamic value) async {
  await _initialize();
  String type;
  // 监测value的类型 如果是Map和List,则转换成JSON,以字符串进行存储
  if (value is Map || value is List) {
    type = 'String';
    value = const 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;
  }
}