【问题标题】:Flutter - How to save data locally?Flutter - 如何在本地保存数据?
【发布时间】:2021-02-06 20:11:33
【问题描述】:

我正在制作一个简单的“字典”应用来学习 Flutter。基本思想是用户可以将一个词添加到他的字典中。

我有一个名为 Word 的类(术语、定义、列表中的示例),但现在我需要保存添加的单词,以便用户即使在关闭应用程序时也可以维护它们。

我听说过共享首选项和 SQLite 数据库,但在这种情况下,最好的方法是什么?

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    flutter中有很多本地存储的包:

    这里有一些:

    1. Shared_preferences

    Flutter 插件,用于读取和写入简单的键值对。在 iOS 上封装 NSUserDefaults,在 Android 上封装 SharedPreferences。

    2。 Sqflite

    用于 SQLite 的 Flutter 插件,一个独立的、高可靠性的嵌入式 SQL 数据库引擎。

    3. Hive

    用纯 Dart 编写的轻量级快速键值数据库。使用 AES-256 进行强加密。

    4. Sembast

    用于 Dart VM 和 Flutter 的 NoSQL 持久嵌入式文件系统基于文档的数据库,支持加密。

    5. Flutter_secure_storage

    Flutter Secure Storage 提供 API 将数据存储在安全存储中。 iOS 使用 Keychain,Android 使用基于 KeyStore 的解决方案。

    6. Moor Moor 是用于 Dart 应用程序的安全且反应式的持久性库

    7. Floor

    适用于 Flutter 应用程序的类型安全、反应式和轻量级的 SQLite 抽象。这个库是运行时依赖。

    8. Localstorage

    简单的基于 json 文件的 Flutter 存储。 react-native AsyncStorage 的替代方案

    9. Objectbox

    ObjectBox 是一个超快的 NoSQL ACID 兼容对象数据库。

    10. Json_store

    Flutter 存储解决方案有点类似于浏览器的 localStorage(但功能强大)

    【讨论】:

      【解决方案2】:

      是的,您可以使用第三方库在本地保存数据,所以我指的是包,例如 Sqflite、Shared Preferences、Hive 等。

      在这种情况下,如果您不需要任何图片或一些数据可以占用更多的地方和复杂的保存,那么您需要使用 Shared Preferences 或 Hive 等。 但是如果你需要保存一些小的东西,比如字符串、布尔值等,那么你应该使用 Sqflite,所以 sqflite 是最好的选择,因为它易于使用,你可以找到更多关于它的示例和教程。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-26
        • 2022-01-20
        • 2018-11-17
        • 1970-01-01
        • 2021-01-06
        • 2019-10-18
        • 2021-06-10
        • 1970-01-01
        相关资源
        最近更新 更多