38 lines
1.0 KiB
Dart
38 lines
1.0 KiB
Dart
/*
|
|
* 持久话数据
|
|
* */
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
class Storage{
|
|
///存数据
|
|
static Future<void> setData(key, value) async {
|
|
SharedPreferences sp = await SharedPreferences.getInstance();
|
|
if (value is int) {
|
|
await sp.setInt(key, value);
|
|
} else if (value is bool) {
|
|
await sp.setBool(key, value);
|
|
} else if (value is double) {
|
|
await sp.setDouble(key, value);
|
|
} else if (value is String) {
|
|
await sp.setString(key, value);
|
|
} else if (value is List<String>) {
|
|
await sp.setStringList(key, value);
|
|
}
|
|
}
|
|
|
|
///取数据
|
|
///
|
|
static Future<T?> getData<T>(key) async {
|
|
SharedPreferences sp = await SharedPreferences.getInstance();
|
|
switch(T){
|
|
case int: return (sp.getInt(key) ?? 0) as T;
|
|
case bool: return (sp.getBool(key) ?? false) as T;
|
|
case double: return (sp.getDouble(key) ?? 0.0) as T;
|
|
case String: return (sp.getString(key) ?? '') as T;
|
|
case List: return (sp.getStringList(key) ?? []) as T;
|
|
default: return null;
|
|
}
|
|
}
|
|
|
|
|
|
} |