setObject method
设置存储
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;
}
}