数据持久化

所谓数据持久化,即数据的长期存储。很多时候,我们需要将一些数据保存在本地,当App重启后,仍然可以读取和使用。

通常来说,移动App的持久化有三种实现方式

  • 使用文件读写
  • 使用键值对工具
  • 使用嵌入式数据库

读写文件

自己手动读写文件过于灵活,可能需要编写更多代码,且不利于维护。具体可参见本课程文件一节。

键值对框架

该方案简单直接,通常用于保存应用的配置信息。不建议用于保存关系型的数据。

在Flutter中,使用键值对来持久化的方案,需要使用一个shared_preferences的插件库。其实现原理是调用对应平台的原生接口实现键值对持久化。例如,iOS平台中使用的是NSUserDefaults、安卓平台是SharedPreferences等。

注意,使用时,首先需要在pubspec.yaml文件中配置依赖,具体用法可参见 shared_preferences 文档

嵌入式数据库

当我们需要储存复杂的,具有关系结构的数据时,需要使用数据库。在移动平台上,主要使用嵌入式数据库SQLite来实现需求。

总的来说,如果编写需要储存在本地设备上,并且需要查询大量数据的应用,应考虑使用数据库而不是本地文件或键值对存储。与其他持久化解决方案相比,数据库提供了更快的插入,更新和查询。

在Flutter中想要使用SQLite数据库,也需要使用一个插件库sqflite,参见 sqflite 文档

通常,有两种方式来使用sqflite

  • 使用原始SQL语句操作
  • 使用SQL helpers操作

关于SQLite数据库及其SQL语句的入门知识,请阅读我的博客 《Python小白的数据库入门》,希望深入探索SQLite用法的,推荐阅读《SQLite权威指南(第2版)》这本书。


公众号“编程之路从0到1”

20190301102949549

Copyright © Arcticfox 2020 all right reserved,powered by Gitbook文档修订于: 2022-05-01 12:00:54

results matching ""

    No results matching ""