Sqflite或Shared Preference,是否适合在Flutter中本地存储用户数据?

问题描述

因此,我正在开发一个应用程序,该应用程序将允许用户使用一些基本信息(例如名称名称等)离线创建帐户。我希望用户能够完全离线使用该应用程序。但我也想保留一个选项,以使用一些身份验证方法(如社交登录,电子邮件,电话)创建帐户。用户在本地创建帐户后可以通过其设置执行此操作。并且,一旦他们创建/连接了帐户,我想备份本地可用于Firebase数据库的数据。

但是我很困惑,这将是最合适的方法。我应该为此使用Sqflit还是Shared Preference软件包。

谢谢您的帮助。

解决方法

Sharedpreferences用于存储简单的键/值对,而Sqlite设计用于在SQL数据库中存储大量相似的数据。

它有一些局限性:

  1. 它并非旨在存储大量数据
  2. '不能保证在返回后将写操作持久化到磁盘上,因此该插件不得用于存储关键数据。 (根据包装说明)

对于您而言,身份验证数据至关重要,因此,我不建议您使用SharedPreferences。

如果您需要有关该主题的更多信息,请查看Flutter Cookbook for persisting data