在本地管理 flutter app 和 flutter web 数据

Managing flutter app and flutter web data locally

我正在做一个项目来创建一个 flutter 待办事项应用程序以在移动设备上本地存储数据,但我不确定如何将数据保存在本地存储或网络上的类似内容上。

所以,如果是移动设备,我想将数据保存在本地;如果是通过网络访问,我想将数据保存在本地存储中。

不知从何下手,请指教

选项

您可以使用 shared_preferences,因为它针对不同的平台使用 shared_preferences_android、shared_preferences_ios 和 shared_preferences_web(使用 IndexedDB),请注意,这与您无关直接作为 shared_preferences 相应地切换到所需的平台。

或者您也可以使用 hive,因为它也支持网络(通过 IndexedDB),当然还有类似于 shared_preferences.

的所有其他平台

最后一个也支持网络的选项是 isar,但是它是三个中最先进的,根本不适合这个简单的应用程序。

文档

所有 links link 到他们各自的带有足够文档的发布页面。现在唯一的问题是什么时候使用哪个包。

使用哪个

Flutter 社区对此存在很大分歧,但正如您所见,shared_preferences 有更多的赞,并且来自 google 的 Flutter 团队。然而 shared_preferences 是非常基本的,如果你正在考虑保存你自己的 class 对象(这可能在待办事项应用程序中使用),蜂巢有一个更陡峭的学习曲线来做到这一点,但我觉得它比只是用 json.

序列化它

当然 json 完全没问题,更何况你可能是初学者,但对于更复杂的应用程序,hive(如果它变得非常复杂 isar)在我看来要好得多。