介绍
SharedPreferences是我们在安卓开发中向程序内存储简易键值对的类,在flutter中我们在flutter中要使用类似功能的话需要第三方组件来完成,这个组件就是shared_preferences。shared_preferences库封装了特定平台的持久化存储来存储简单的持久化数据。比如在IOS和MacOs上封装的NSUserDefaults,在在安卓上封装的SharedPreferences等。利用shared_preferences我们可以异步的把基本类型的数据写入到磁盘中。
shared_preferences的用法
1、添加依赖库
dependencies:
shared_preferences: ^2.0.5
复制代码
依赖库添加后要执行Pub Get使其生效
2、在使用时导入该库
import 'package:shared_preferences/shared_preferences.dart';
复制代码
3、具体使用
- 获取SharedPreferences对象。
SharedPreferences.getInstance().then((shared) => {
});
复制代码
此时,我们就可以在大括号内写我们的代码啦。
- 向sharedPreferences中写入数据。
shared.setInt(String key,int value)
等等......
复制代码
其中一系列set方法,帮助我们向sharePreferences中插入数据,后面会有表格列举。
3. 从sharedPreferences删除数据
删除方法很简单只是执行remove方法传入当时的key值就可以啦。
shared.remove(String key)
复制代码
- 从sharedPreferences中修改数据
修改数据的方法和增加数据相同,传入key和修改后的值就行了,它会自动覆盖的
- 从sharedPreferences查询数据
shared.getInt(String key)
等等......
复制代码
其中一系列get方法,帮助我们从sharePreferences中获取数据,后面会有表格列举。
- 查询是否已经存有此key值的数据
shared.containsKey(String key)
复制代码
4.常见方法表
- 增加类
方法名 | 返回值 | 说明 |
---|---|---|
setBool(String key, bool value) | Future< bool> | 后台执行,向share中存储一个bool类型的值 |
setInt(String key, int value) | Future< bool> | 后台执行,向share中存储一个int类型的值 |
setDouble(String key, double value) | Future< bool> | 后台执行,向share中存储一个Double类型的值 |
setString(String key, String value) | Future< bool> | 后台执行,向share中存储一个String类型的值 |
setStringList(String key, List< String> value) | Future< bool> | 后台执行,向share中存储一个List< String>?的值 |
- 查询类
方法名 | 返回值 | 说明 |
---|---|---|
getKeys() | Set< String> | 调用此方法,返回所有持久化数据的key值列表 |
get(String key) | Object? | 返回此指定key,关联存储的任意类型值 |
getBool(String key) | bool? | 返回一个bool类型的值,如果不是bool类型则会抛出异常 |
getInt(String key) | int? | 返回一个int类型的值,如果不是int类型则会抛出异常 |
getDouble(String key) | double? | 读取一个double类型的值如果不是double类型则会抛出异常 |
getString(String key) | String? | 读取一个String类型的值,如果返回的不是String类型,则抛出异常 |
getStringList(String key) | List< String>? | 读取一个List< String>?的值,如果返回的不是此类型则抛出异常 |
- 功能类
方法名 | 返回值 | 说明 |
---|---|---|
remove(String key) | Future< bool> | 删除指定key的持久化数据 |
containsKey(String key) | bool | 如果持久化数据中存在给定的key则返回true |
commit() | Future< bool> | 总是返回true,废弃方法,不建议使用 |
clear() | Future< bool> | 移除所有的keys和value,清空share |
reload() | Future< void> | 重新加载缓存的share |
好啦,flutter中的shared_preferences库使用起来就是这么简单,它支持安卓,IOS,MAC-OS,LINUX,WEB,WINDOWS等六个平台。功能还是比较强大的。大家赶紧用起来吧~~!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END