Flutter 开发系列(十):深入掌握本地存储与数据库操作

Flutter 开发系列(十):深入掌握本地存储与数据库操作

在 Flutter 中实现本地存储是构建应用的重要一环,尤其是在需要持久化用户数据、缓存信息、或应用设置的情况下。本篇将介绍如何在 Flutter 中使用 SQLite 和 shared_preferences 两种方式进行本地存储,涵盖适用场景、常用方法、以及具体代码示例,帮助开发者为应用数据选择合适的存储方案。
在这里插入图片描述


目录

  1. SQLite 与 shared_preferences 简介
  2. 使用 shared_preferences 进行简单数据存储
    • 存储用户偏好设置示例
  3. 使用 SQLite 实现复杂数据持久化
    • 表设计与数据库操作示例
  4. 扩展:选择合适的存储方案

1. SQLite 与 shared_preferences 简介

  • shared_preferences:用于存储轻量数据(如布尔值、字符串和整数),通常适用于用户设置和少量配置信息。
  • SQLite:适合复杂结构和较大数据量的持久化存储,支持增删改查和数据关系的管理。适合存储较多的用户数据,比如任务列表、笔记等。

2. 使用 shared_preferences 进行简单数据存储

shared_preferences 插件可以帮助在本地持久化简单数据,以下为基本的设置和使用流程:

安装 shared_preferences 插件

pubspec.yaml 文件中添加依赖:

dependencies:
  flutter:
    sdk: flutter
  shared_preferences: ^2.0.15

存储和读取数据示例

在以下示例中,我们将存储和读取用户的登录状态和用户名。

import 'package:shared_preferences/shared_preferences.dart';

class PreferencesService {
   
  // 保存登录状态
  Future<void> saveLoginStatus(bool isLoggedIn) async {
   
    final prefs = await SharedPreferences.getInstance();
    await prefs.setBool('isLoggedIn', isLoggedIn);
  }

  // 获取登录状态
  Future<bool> getLoginStatus() async {
   
    final prefs = await SharedPreferences.getInstance();
    return prefs.getBool('isLoggedIn') ?? false;
  }

  // 保存用户名
  Future<void
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈探索者chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值