flutter 超详细的sqflite数据库使用详解

2023-11-11

前言

数据持久化存储是app开发过程中比较常见的需求,对于简单的配置数据我们可以通过SharedPreference来实现,但是如果是类似用户列表,商品列表等的大量复杂数据,再使用SharedPreference来存储就不合适了,本篇我们就来具体学习一下Flutter中的另一种数据持久化存储的方式数据库相关的东西。

在Android原生开发中使用过数据库的同学都知道SQLite,这是一款轻量级的嵌入式数据库,资源占用率非常的低,在嵌入式设备中,可能只需要几百K的内存就够了,它的数据库说到底其实就是一个文件,经常被集成到各种应用程序中,比如Android和IOS应用程序中。

本篇要讲的sqflite就是在Flutter上实现的一个SQLite数据库的插件,并且同时支持Android端和IOS端,接下来我们就来具体讲解下此插件的使用。

知识点总览

1,数组的索引是从0开始的,数据库的索引都是从1开始的。
2,添加数据返回的行索引不会受删除行的影响,是始终唯一且自增的。
3,sqflite支持的数据库类型有:【INTEGER,TEXT,REAL,BLOB】 对应Dart中的类型分别为:【int,String,num,Uint8List】
4,DateTime和bool均是不受sqflite支持的类型,可分别使用字符串和0或1代替。
5,如果在应用程序运行的任意时刻都有可能需要操作数据库,那么则不需要手动关闭数据库,它将在应用程序终止时自动关闭,如果你确实想在某个位置释放资源,也可以选择手动关闭数据库

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

flutter 超详细的sqflite数据库使用详解 的相关文章

  • ai画面怎么调大小_AI中怎么把图像等比例扩大或缩小尺寸

    展开全部 AI中么把图像等比例扩大或缩小尺寸步骤如e69da5e6ba903231313335323631343130323136353331333366303830下 1 打开ai的软件 执行菜单栏中文件 新建 或者直接使用快捷键Ctrl
  • 什么是Agent

    一方面 Agent技术为解决新的分布应用问题提供了有效途径 另一方面 Agent技术为全面准确地研究分布计算系统的特点提供了合理的概念模型 在分布计算领域 人们通常把在分布式系统中持续自主发挥作用的 具有以下特征的活着的计算实体称为Agen
  • gh-ost大表DDL工具源码阅读

    gh ost大表DDL工具源码阅读 最终目的 开发环境与测试数据库准备 一个简单的ddl案例 debug分析程序执行过程 vscode debug配置 变量介绍 核心处理逻辑 分析我的需求 最终目的 尝试通过阅读源码 多测试熟悉gh ost
  • 多线程学习

    线程的三种创建方式 1 继承Thread类 创建线程的快捷方式一 继承Thread 重写run方法 调用start开启线程 总结 注意线程开启不一定执行 由cpu调度执行 public class TestThread1 extends T
  • 可迭代对象__iter__(), __next__()

    一 解释 在 Python 中 迭代是指逐个访问容器 如列表 元组 集合 字典等 中的元素 为了实现迭代 我们需要使用可迭代对象和迭代器 可迭代对象 Iterable 具有 iter 方法的对象被称为可迭代对象 这个方法返回一个迭代器 迭代
  • git使用socks5代理提示:Unsupported proxy syntax in 127.0.0.1:1080

    提示说是语法错误 打开 gitconfig文件查看代理 http proxy socks5 127 0 0 1 1080 https proxy socks5 127 0 0 1 1080 去掉前后的单引号 错误消失 http proxy
  • sql server 2008 r2各个版本的区别与选择

    windows server 2012 r2 standard安装sql server 2008 R2 https blog csdn net maoiur article details 78322175https blog csdn n
  • UniCode编码表

    Unicode编码则是采用双字节16位来进行编号 可编65536字符 基本上包含了世界上所有的语言字符 它也就成为了全世界一种通用的编码 而且用十六进制4位表示一个编码 非常简结直观 为大多数开发者所接受 特别是十六进制编码后 可以解决汉字
  • java泛型的简介说明

    转自 java泛型的简介说明 下文笔者讲述java泛型的简介说明 如下所示 在JDK5中 Java语言引入了泛型机制 但是这种泛型机制其实是通过类型擦除来实现 即Java中的泛型只在程序源代码中有效 源代码阶段提供类型检查 在编译后的字节码
  • CentOS7 下的配置FTP服务器增强版~(零基础学会FTP配置)

    ps 原文不知出处 但是原文也不能正常启动 这里做了一些修改 如果能正常配置请在下方留言让更多的人看到 因为之前我本人照着网上的教程安装卸载了十多次也无法正常使用 不希望后面的兄弟继续浪费时间 如果不能使用 也请劳烦贴出相应的错误 参考 h
  • go 环境变量存储在哪里?

    Q golang环境变量存储在哪里 A 保存在go env GOENV所示的文件里 C Users Administrator gt go env GOENV C Users Administrator AppData Roaming go
  • SQL Server 数据库的创建、删除、修改

    1 创建数据库CREATE 创建数据库语句的基本格式 CREATE DATABASE database name ON PRIAMRY
  • 使用Mulesoft建立webservice, simple方式,POJO

    Mulesoft是使用CXF来支持web service 有三种方式 1 JAX WS 2 Simple POJO 3 Proxy pass throught 本文介绍POJO 最简单的方式 1 首先创建接口跟实现类 接口可以不用 pack
  • ORACLE 分组函数COUNT使用

    COUNT 返回表中记录总数 适用于任意数据类型 两种使用方式 1 SELECT COUNT 1 FROM sh mp fksq where create id 50101311 运行效果 2 SELECT COUNT FROM sh mp
  • Python学习 -- 正则表达式(re模块)

    正则表达式是一种强大的模式匹配工具 用于在文本中查找和匹配特定模式的字符串 在Python中 我们可以使用re模块来操作和处理正则表达式 本篇技术博客将介绍正则表达式的基础语法和re模块的详细使用方法 并通过具体的代码案例来帮助初学者快速掌
  • sql server2005的死锁

    select request session id spid OBJECT NAME resource associated entity id tableName from sys dm tran locks where resource
  • 解决cannot resolve symbol “xxxx”的问题(亲测有效)

    今天做项目的时候导入了一个api接口 并且把附带的jar包也拷贝到了Maven项目中 但是有个方法一直报cannot resolve symbol xxxx 百思不得其解 在网上搜了各种各样的方法也没有解决 这个问题其实就是无法解析某方法
  • Java 实现简单邮件发送(带附件)

    目录 前言 一 添加pom依赖 二 完整发邮件代码 前言 最近写发邮件的功能时 需要把excel文件和邮件内容一起发送 简单记录 一 添加pom依赖
  • C# SuperSocket 手把手教你入门 傻瓜教程---3(Telnet服务器和客户端请求处理)

    C SuperSocket 手把手教你入门 傻瓜教程系列教程 C SuperSocket 手把手教你入门 傻瓜教程 1 服务器单向接收客户端发送数据 C SuperSocket 手把手教你入门 傻瓜教程 2 服务器和客户端双向通信 C Su

随机推荐

  • ICP算法(Iterative Closest Point迭代最近点算法)

    最近在做点云匹配 需要用c 实现ICP算法 下面是简单理解 期待高手指正 ICP算法能够使不同的坐标下的点云数据合并到同一个坐标系统中 首先是找到一个可用的变换 配准操作实际是要找到从坐标系1到坐标系2的一个刚性变换 ICP算法本质上是基于
  • JMeter快速入门知识系列(7)----JMeter断言之响应断言

    7 1 断言的定义 断言用于验证取样器请求或对应的响应数据是否返回了期望的结果 可以是看成验证测试是否预期的方法 对于接口测试与性能测试来说 就是测试Request Response 断言即可以针对Request进行 也可以针对Respon
  • C语言scanf()函数使用的注意事项

    scanf 函数相信就算刚学C语言的朋友也知道 这是一个标准输入函数 它是从标准输入流stdin中读内容的 它的第一个参数是格式化字符串 后面跟着的存储内容的地址列表 如果在全段代码中 只调用一次 且只获取一个变量内容的话 一般不会出现什么
  • POJ 275 Drainage Ditches|网络流|dinic模版

    问题描述 总时间限制 1000ms内存限制 65536kB 描述 Every time it rains on Farmer John s fields a pond forms over Bessie s favorite clover
  • Metis异常检测样本管理源码分析

    Metis异常检测样本管理源码分析 1 表说明 2 样本来源 2 1 样本导入 2 2 异常样本生成 2 3 异常样本打标 1 表说明 Metis一共三张表 anomaly sample dataset train task sample
  • C++STL常见面试题总结

    1 STL的介绍 STL 标准模板库 提高程序的 开发效率 和 复用性 STL包含的 6大组件 容器 迭代器 算法 仿函数 适配器 空间配置器 各组件的作用 容器 用于容纳一组相同类型的元素 迭代器 算法 仿函数 适配器 空间配置器 负责空
  • pytorch构造可迭代的DataLoader,动态流式读取数据源,不担心内存炸裂(pytorch Data学习三)

    构造迭代读取的Dataloader 首先需要可迭代的DataSet 这一部分详细请参考 pytorch构造可迭代的Dataset IterableDataset pytorch Data学习二 下面直接开始封装到DataLoader中 文章
  • 国内券商有没有提供股票量化交易,程序化交易接口的,怎么用?

    有的 python语言 免费使用 个人账户可开 直连交易所 行情及时准确 以前想实现股票的程序化交易门槛很高 要么资金实力足 要么技术实力强 小散户根本不用想 现在不一样了 门槛降低了 也没有什么资金要求 python语言 上手快速简单 个
  • uniapp插件使用

    1 插件页购买或者试用 2 manifest里勾选插件 3 按插件页文档集成 试用或者购买 选择自己文件uniapp应用标识 4 制作自定义基座 5 注意选择你刚自定义的基座运行 注意不是标准基座 6 如果还不行 卸载下手机上的应用 重新运
  • openldap (一) ldap连接

    连接和初始化ldap相关api在open c中提供 ldap open defconn 创建一个默认连接 调用者确保调用此函数时已经加锁 ldap open 初始化并连接到ldap服务器 ldap create 创建一个ldap ldap
  • 虚拟内存和分页文件

    分页文件 也就是虚拟内存文件 或叫做交换文件 Windows 2000 XP 2003中的分页文件名为pagefile sys 虚拟内存有什么用 内存在计算机中的作用很大 电脑中所有运行的程序都需要经过内存来执行 如果执行的程序很大或很多
  • Github隐藏功能显示自己的README,个人化你的Github主页

    创作者 全栈弄潮儿 个人主页 全栈弄潮儿的个人主页 个人社区 欢迎你的加入 全栈弄潮儿的个人社区 专栏地址 魔法工具 人工智能福利文章 分享几个国内免费可用的ChatGPT镜像 10几个类ChatGPT国内AI大模型 用 文心一言 1分钟写
  • Chrome OS 将实现在虚拟机上运行 Linux 应用程序

    Chromebook 用户很快就可以通过更简单的方式在 Google Chrome OS 硬件上运行 Linux 发行版和应用程序 据外媒 Chrome Unboxed 报道 Chromium Gerrit 上有一个新合并的提交 描述了 在
  • vulnhub-KIOPTRIX: LEVEL 1.2 (#3)-KioptrixVM3靶场

    以下演示均在测试环境进行 遵守法律 维护网络安全 靶场链接 Kioptrix Level 1 2 3 VulnHub 靶场为单层网络 下载解压之后 直接设置网络为nat模式 kali攻击机同样设置为nat 保持两者在同一个网段即可 本次没有
  • 将YOLOV5数据集不同类别分开的Python脚本

    将YOLOV5数据集不同类别分开的Python脚本 import os import shutil labelall path r C Users 1 Desktop test labels all 所有标签存放的路径 imgall pat
  • 3种等待方式,让你学会Selenium设置自动化等待测试脚本!

    一 Selenium脚本为什么要设置等待方式 即他的应用背景到底是什么 应用Selenium时 浏览器加载过程中无法立即显示对应的页面元素从而无法进行元素操作 需设置一定的等待时间去等待元素的出现 简单来说 就是设置一个等待时间让页面元素加
  • JUC并发编程之ReentrantLock

    1 非公平锁实现原理 加锁解锁流程 构造器默认实现的是非公平锁 public ReentrantLock sync new NonfairSync NonfairSync 继承 Sync Sync 继承 AbstractQueuedSync
  • 从 0 开始学 Python 自动化测试开发(二):环境搭建

    本文是 从 0 开始学 Python 自动化测试开发 专题系列文章第二篇 环境搭建篇 适合零基础入门的同学 没有阅读过上一篇的同学 请戳蓝色字体阅读 作者方程老师 是前某跨国通信公司高级测试经理 目前为某互联网名企资深测试技术专家 也是霍格
  • Win11家庭版完美解决旧版exe的DPI显示高清修复

    由于Win11家庭版的一些限制 不能直接按Win R搜索打开gpedit msc来执行相关操作 修改注册表对普通用户又太危险 因此本文介绍了一种更简便的操作方法 来设置旧程序对现在电脑的高DPI的适配 一共12个步骤 步骤1 打开 开始 搜
  • flutter 超详细的sqflite数据库使用详解

    前言 数据持久化存储是app开发过程中比较常见的需求 对于简单的配置数据我们可以通过SharedPreference来实现 但是如果是类似用户列表 商品列表等的大量复杂数据 再使用SharedPreference来存储就不合适了 本篇我们就