这个组件可以根据输入的年级和颜色创建一个具有不同颜色和百分比显示的标签。 实现原理: 使用GradeTag.origin构造函数来创建一个包含默认颜色和百分比的字符串。这个构造函数使用了assert来确保输入的年级在特定的集合中('SSR', 'SR', 'S', '普通')。 使用GradeTag工厂方法来创建不同级别的GradeTa
Future<bool> tableExists() async { //内建表sqlite_master var res = await _database!.rawQuery( "SELECT * FROM sqlite_master WHERE TYPE = 'table' AND NAME = '$tableName'", ); return res.isNotEmpty; } } 数据库升级或降级 在基类中我们实现了建表的功能, 同理数据库升级或降级也可以这样...
在Flutter开发中,我们可以使用flutter_sqlite库来进行SQLite数据库的操作。然而,原生的flutter_sqlite库在使用上存在一些繁琐的操作,需要手动编写大量的重复代码。为了简化开发过程,提高开发效率,我们可以进行二次封装,并使用泛型来实现通用的数据库操作。 泛型是一种能够在代码中定义和使用不特定类型的技术。在数据库操作...
SQLite pub地址:https://pub.flutter-io.cn/packages/sqflite SQLite Github:https://github.com/tekartik/sqflite...那是否需要先去学习数据库和 SQL 语句相关知识?...添加依赖 SQLite 并不是 Flutter 系统自带的,而是一个第三方插件,在项目的 pubspec.yaml 文件中添加依赖: dependencies: sqflite: ^1.3.1......
作为对比,以前介绍过Floor库。Floor是一个基于SQLite的ORM框架,它在底层使用了sqflite库。但是,Floor 框架已经封装了数据库路径的获取和数据库的创建,所以在使用Floor框架时,你不需要显式地使用 path_provider 库来获取数据库路径。 当你使用 Floor 框架创建数据库时,只需要提供数据库的名称,Floor 框架会自动为你处理...
1、添加依赖,打开flutter项目根目录下的pubspec.yaml 文件,添加依赖。 2、开始sqlite的数据操作基本封装,我一般是在lib目录下建一个 db的包,把数据库相关操作的类都放在这个包下面,方面管理和维护,下面是的项目目录。 3、DBManger类,将数据库的创建,关闭等基础操作同一封装在一个类中统一管理。
你可以参考sqflite插件的 API文档,或是查阅 SQLite教程 了解具体的使用方法。 4 总结 首先,我带你学习了文件,这种最常见的数据持久化方式。Flutter提供了两类目录,即临时目录与文档目录。我们可以根据实际需求,通过写入字符串或二进制流,实现数据的持久化。 然后,我通过一个小例子和你讲述了SharedPreferences,这种适用...
Flutter已经帮助我们封装了操作SQLite的库,它就是:sqflite 集成sqflite库 使用sqflite第三方库需要我们在pubspec.yaml文件先添加库的名字和版本号 在dependencies字段下添加: sqflite:^1.1.3 这里以1.1.3为例 添加完成后保存一下,VSCode默认会执行pub get帮我们把需要的库下载下来,同样我们也可以在项目根目录下执行pub...
然而,sqlite作为一款重量级数据库,其使用需要谨慎编写SQL语句,这无疑增加了开发者的负担。因此,对于需求简单的项目,我们推荐使用轻量级数据库ObjectBox。ObjectBox是一款底层由C/C++实现的轻量级数据库,其使用便捷且性能优越。相比sqlite,ObjectBox在处理简单增删改查操作时效率更高,为开发者带来了极大的便利。从图表...
其中,sqflite在Flutter开发者中较为流行,该框架主要是SQLite的Flutter插件,与Android和iOS的native数据库交互。其次,moor也是一款非常不错的数据库框架,它是基于sqflite上封装的一层,提供了更高层次的抽象,可以使用SQL语句,也可以使用Dart类型安全的查询API。hive是一个轻量级且快速的数据库,它使用Dart原生的二进制协议...