flutter使用sharedPreferences保存数据:
1》、pubspec.yaml添加依赖包
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2
## 实现页面加载的loading库
flutter_spinkit: "^3.1.0"
## 数据存储 sharedPreference
shared_preferences: "^0.4.2"
2》、封装工具类 util.dart
import 'package:shared_preferences/shared_preferences.dart';
sharedAddAndUpdate(String key,Object dataType,Object data) async{
SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
switch(dataType){
case bool:
sharedPreferences.setBool(key, data);
break;
case double:
sharedPreferences.setDouble(key, data);
break;
case int:
sharedPreferences.setInt(key, data);
break;
case String:
sharedPreferences.setString(key, data);
break;
case List:
sharedPreferences.setStringList(key, data);
break;
default:
sharedPreferences.setString(key, data.toString());
break;
}
}
Future<Object> sharedGetData(String key) async{
SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
return sharedPreferences.get(key);
}
sharedDeleteData(String key) async{
SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
sharedPreferences.remove(key);
}
3》、使用util.dart
//保存类型null的使用
sharedAddAndUpdate("dataList", null, "dddddddddd");
sharedGetData("dataList").then((Object data){
String userName= data;
print(userName);
});
//保存类型List<String>的使用
List<String> dataList = new List<String>();
dataList.add("111111");
dataList.add("222222");
sharedAddAndUpdate("dataList", List, dataList);
sharedGetData("dataList").then((Object data){
List<String> userName= data;
print(userName[0]);
});
//保存类型String的使用
sharedAddAndUpdate("userName", String, userInfo['companyId']);
sharedGetData("userName").then((Object data){
String userName= data;
print(userName);
});
//删除数据
sharedDeleteData("dataList");