返回
Flutter 学徒:9 - 首选项 (SharedPreferences)
前端
2023-12-29 18:26:36
想象一下吧。你正在浏览菜谱,发现了一个你喜欢的菜。你很着急,想把它收藏起来以后再查看。你能建立一个能实现这个功能的 Flutter 应用吗?你当然可以! 继续阅读,了解如何做。
在本章中,你的目标是学习如何使用 SharedPreferences
在 Flutter 应用中存储和检索本地数据。你将学习如何使用键值对存储数据,以及如何使用首选项更改应用的默认行为。
1. 为什么需要本地数据存储?
在 Flutter 应用中,本地数据存储有许多用途。一些常见的用途包括:
- 存储用户设置,如首选语言、主题或默认位置。
- 存储临时数据,如最近查看的项目或购物篮中的商品。
- 存储应用程序状态,如当前用户或当前查看的页面。
2. SharedPreferences 是什么?
SharedPreferences
是 Flutter 中用于本地数据存储的类。它提供了一个简单的方法来存储和检索键值对数据。SharedPreferences
是异步的,这意味着它不会阻塞你的应用。
3. 如何使用 SharedPreferences?
要使用 SharedPreferences
,你首先需要创建一个实例。你可以使用 SharedPreferences.getInstance()
方法来做到这一点。
final sharedPreferences = await SharedPreferences.getInstance();
一旦你有了 SharedPreferences
实例,你就可以使用 setString()
、setInt()
、setBool()
等方法来存储数据。
sharedPreferences.setString('username', 'alice');
sharedPreferences.setInt('age', 20);
sharedPreferences.setBool('is_admin', true);
要检索数据,你可以使用 getString()
、getInt()
、getBool()
等方法。
String username = sharedPreferences.getString('username');
int age = sharedPreferences.getInt('age');
bool isAdmin = sharedPreferences.getBool('is_admin');
4. SharedPreferences 的注意事项
以下是一些使用 SharedPreferences
时需要注意的事项:
SharedPreferences
只能存储简单的数据类型,如字符串、整数和布尔值。如果你想存储复杂的数据类型,如列表或映射,你需要将它们序列化为字符串或 JSON。SharedPreferences
是异步的,这意味着它不会阻塞你的应用。但是,如果你在数据存储或检索操作完成后需要执行某些操作,你可以在操作完成后使用await
来等待它完成。SharedPreferences
的数据是保存在设备上的,这意味着它可以被其他应用访问。如果你存储敏感数据,你需要使用加密来保护它。
5. 总结
SharedPreferences
是一个简单的类,可以让你在 Flutter 应用中存储和检索本地数据。它非常适合存储用户设置、临时数据和应用程序状态。