我正在制作一个简单的“字典”应用程序来学习 Flutter。基本思想是用户可以将一个词添加到他的字典中。
我有一个名为 Word 的类(术语、定义、列表中的示例),但现在我需要保存添加的单词,以便用户即使在关闭应用程序时也可以维护它们。
我听说过共享首选项和 SQLite 数据库,但在这种情况下最好的方法是什么?
flutter 中有很多本地存储的包:
这里有一些:
用于读写简单键值对的 Flutter 插件。包装 iOS 上的 NSUserDefaults 和 Android 上的 SharedPreferences。
2.Sqflite _
SQLite 的 Flutter 插件,一个独立的、高可靠性的、嵌入式的 SQL 数据库引擎。
3.蜂巢
用纯 Dart 编写的轻量级快速键值数据库。使用 AES-256 进行强加密。
4. Sembast
用于 Dart VM 和 Flutter 的 NoSQL 持久嵌入式文件系统基于文档的数据库,具有加密支持。
Flutter Secure Storage 提供 API 将数据存储在安全存储中。iOS 中使用 Keychain,Android 中使用基于 KeyStore 的解决方案。
6. Moor Moor 是一个用于 Dart 应用程序的安全且反应式的持久性库
7.地板
Flutter 应用程序的类型安全、反应式和轻量级的 SQLite 抽象。该库是运行时依赖项。
8.本地存储
简单的基于 json 文件的 Flutter 存储。react-native AsyncStorage 的替代方案
9.对象框
ObjectBox 是一个超快的 NoSQL ACID 兼容对象数据库。
10.json_store _
Flutter 存储解决方案,有点类似于浏览器的 localStorage(但功能强大)
是的,您可以使用第三方库在本地保存数据,所以我的意思是包,如 Sqflite、Shared Preferences、Hive 等。
在这种情况下,如果您不需要任何图片或一些可以占用更多位置和复杂性的数据来保存,那么您需要使用 Shared Preferences 或 Hive 等。但是如果您需要保存一些小的东西,例如字符串、布尔值等那么你应该使用 Sqflite 所以 sqflite 是最好的选择,因为它易于使用,你可以找到更多的例子,关于它的教程。