玩转 Flutter 的SQLite本地数据库

前言

前面一篇我们介绍了使用 shared_preferences实现简单的键值对存储,然而我们还会面临更为复杂的本地存储。比如资讯类 App会缓存一部分上次加载的内容,在没有网络的情况下也能够提供内容;比如微信的聊天记录都是存储在手机客户端。当我们需要在本地存储大量结构化的数据的时候,使用 shared_preferences 显然是不够的。这个时候我们就需要使用本地数据库,移动端最为常用的本地数据库是 SQLite。在 Flutter中同样提供了对 SQLite 的支持,我们可以使用 sqflite 这个插件搞定结构化数据的本地存储。本篇我们以一个完整的备忘录的实例来讲述如何使用 sqflite

业务需求解读

我们先来看备忘录的功能:

  • 显示已经记录的备忘录列表,按更新时间倒序排序;
  • 按标题或内容搜索备忘录;
  • 添加备忘录,并保存在本地;
  • 编辑备忘录,成功后更新原有备忘录;
  • 删除备忘录;
  • 备忘录通常包括标题、内容、创建时间和更新时间这些属性。

可以看到,这其实是一个典型的数据表的 CRUD 操作。

实体类设计

我们设计一个 Memo类,包括了 id、标题、内容、创建时间和更新时间5个属性,用来代表一个备忘录。同时提供了两个方法,以便和数据库操作层面对接。代码如下:

import 

你可能感兴趣的:(Flutter,入门与实战,flutter,sqlite,移动端开发,android,iOS)