Flutter:数据存储
发布: (2025年12月20日 GMT+8 05:41)
3 min read
原文: Dev.to
Source: Dev.to
介绍
Flutter 允许在应用安装的设备上存储数据。这些数据可能有不同的用途,例如显示或不显示促销弹窗,或保存偏好设置(例如使用的主题)。本文解释了普通数据和加密数据之间的区别,并介绍了可用于每种类型的主要包。
数据类型
普通数据
指存储时不需要额外安全保护的信息,例如用户偏好或特定项目的浏览记录。通常是文本或原始值,能够轻松访问,甚至在 Android 的调试模式下也能查看。
加密数据
指通过算法编码后对人类不可读的信息。当涉及敏感数据(例如用户的个人信息)时,建议使用在保存到设备之前先对数据进行加密的存储方式。
普通存储:SharedPreferences
- 允许存储原始值(
bool、int、double、String、List),不进行加密。 - 是 Flutter 官方团队推荐的包。
- 安装简单,并且在实现过程中可以配置属性。
包链接:
SharedPreferences on pub.dev
加密存储:flutter_secure_storage
- 使用 iOS 的 Keychain 和 Android 的 Keystore 安全保存数据。
- 值在设备上以加密形式存储。
- 适用于敏感信息,如认证令牌或个人数据。
包链接:
flutter_secure_storage on pub.dev
最后说明
本文介绍了非敏感数据和加密数据的概念,并提供了 SharedPreferences 与 flutter_secure_storage 两个包作为在设备上保存数据的方案。除了这些包之外,还可以使用本地数据库来存储更复杂的数据;具体选择哪种方式取决于各类数据的规格和预期用途。