很多Flutter开发者都很熟悉Firebase,这是一个非常受欢迎的后端解决方案,可以在移动应用程序中使用。 但是,并非所有人都需要使用云数据库解决方案。 如果您希望使用本地数据库而不是云,那么该怎么办呢? 在本文中,我们将介绍一些Flutter中的本地数据库选项。

1. HIVE

HIVE是一种轻型、高效的键值存储,可以在Flutter应用中使用。 它与其他存储系统不同,因为它使用原生磁盘文件管理数据,而不是SQLite或其他数据库管理系统。 除此之外,HIVE还支持Flutter的强类型系统,以及压缩和加密数据的选项。 HIVE还有一个强大的查询编译器,可以通过丰富的Api来方便开发者使用。

2. sqflite

Sqflite是一种轻型、快速和易用的SQLite数据库操作包,可在Flutter中使用。 它可以执行SQL查询、事务和批量写入,并提供流和单个数据项的支持。 Sqflite还允许您使用异步API访问数据库,以便不会阻塞您的应用程序。 如果您已经熟悉SQLLite,那么就可以方便的使用这个包,来轻松的使用本地存储。

3. Moor

Moor是一种强大的,在Flutter中高度集成的SQL数据库,适用于本地存储。 它使用了Dart编程语言创建和维护数据模型,支持常见的SQL操作,如聚合,联接和子查询。 Moor非常适合Flutter,因为它使用本地语言特性而不是基于外部依赖的库。 后者是基于一个sql语句的代码生成器和执行器,方便快捷的实现多表联合查询。

如果您需要在Flutter应用程序中存储和访问数据,本地数据库是不错的选择。 相比于Firebase的云数据库,本地存储可以让flutter应用程序获得更脚踏实地的本地控制。

如使用HIVE,Sqflite和Moor,让您的Flutter应用程序获得更加便捷和高效的数据库操作。 HIVE不像Sqlflite,Moor依赖低,虽然性能略逊于后者,但是对于较小的项目或您不想去处理复杂的原生sqlite表结构, HIVE会更加适合。

同时,我们可以在不使用外部库的同时,获得与本地原生数据库语言的最佳适配性。 您可以尝试使用这些数据库中的任何一个来解决您的Flutter应用程序的数据管理问题。

详情参考

了解更多有趣的事情:https://blog.ds3783.com/