import 'dart:convert'; import 'package:shared_preferences/shared_preferences.dart'; class Storage { //存储数据 static Future set(String key, dynamic value) async { SharedPreferences sp = await SharedPreferences.getInstance(); if (value is String) { sp.setString(key, value); } else if (value is int) { sp.setInt(key, value); } else if (value is bool) { sp.setBool(key, value); } else if (value is double) { sp.setDouble(key, value); } else if (value is Map) { String jsonStr = jsonEncode(value); sp.setString(key, jsonStr); } } //获取数据 static Future get(String key) async { SharedPreferences sp = await SharedPreferences.getInstance(); var value = sp.get(key); if (value is String) { try { return jsonDecode(value); } catch (e) { return value; } } return value; } //删除数据 static Future remove(key) async { SharedPreferences sp = await SharedPreferences.getInstance(); sp.remove(key); } //判断键是否存在 static Future hasKey(String key) async { SharedPreferences sp = await SharedPreferences.getInstance(); return sp.containsKey(key); } }