Flutter-本地存储shared_preferences

简介: Flutter-本地存储shared_preferences

Package地址:https://pub.dev/packages/shared_preferences

目录

  • shared_preferences是什么?
  • 如何使用 shared_preferences ?
  • shared_preferences有哪些常用的API?


一、shared_preferences是什么?



  • 1.1、shared_preferences是Flutter社区开发的一个本地数据存取插件
  • 1.2、shared_preferences的特征如下
  • 简单的,异步的,持久化的key-value存储系统
  • 在Android上它是基于 SharePreferences的
  • 在iOS上它是基于 NSUserDefaults


二、如何使用 shared_preferences



  • 2.1、首先在 pubspec.yaml文件中添加,然后运行 flutter pub get


dependencies:
    shared_preferences: ^2.0.7
  • 在使用的地方导入:import 'package:shared_preferences/shared_preferences.dart';
  • 2.2、Sharedpreferences 基本用法提示:如果在使用的时候报错:[VERBOSE-2:ui_dart_state.cc(209)] Unhandled Exception: MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences)解决方案:如果您使用的是shared_preferences 0.2.4及更高版本,可直接在flutter项目的main方法中添加以下内容


SharedPreferences.setMockInitialValues({});
  • <1>、存储和读取基本数据类型,下面以String为例,其他的类型不做展示
    存储


saveData() async {
     SharedPreferences prefs = await SharedPreferences.getInstance();
     int counter =  1;
     bool result = await prefs.setInt('counter', counter);
     print("存储的结果:$result");
}
  • 读取


readData() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    final counter = await prefs.getInt('counter' ?? 0);
    print("取出数据:$counter");
}
  • 删除数据


deleteData() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    final result = await prefs.remove("counter");
    print("删除的结果:$result");
}
  • <2>、清空整个缓存


clear() async {
   SharedPreferences prefs = await SharedPreferences.getInstance();
   prefs.clear(); ////清空缓存
}


三、shared_preferences有哪些常用的API?



  • 3.1、存储相关


image.png


Future<bool> setBool(String key, bool value) => _setValue('Bool', key, value);
Future<bool> setInt(String key, int value) => _setValue('Int', key, value);
Future<bool> setDouble(String key, double value) =>
_setValue('Double', key, value);
Future<bool> setString(String key, String value) =>
_setValue('String', key, value);
Future<bool> setStringList(String key, List<String> value) =>
_setValue('StringList', key, value);
  • 3.2、读取相关


Object? get(String key) => _preferenceCache[key];
bool? getBool(String key) => _preferenceCache[key] as bool?;
int? getInt(String key) => _preferenceCache[key] as int?;
double? getDouble(String key) => _preferenceCache[key] as double?;
Set<String> getKeys() => Set<String>.from(_preferenceCache.keys);
String? getString(String key) => _preferenceCache[key] as String?;
 List<String>? getStringList(String key) {......}
 toString();
  • 3.3、删除相关


remove(String key) {......}
clear() {......}


目录
相关文章
|
7月前
|
存储 JSON 数据库
Flutter必备技能:轻松掌握本地存储与数据库优化技巧!
Flutter必备技能:轻松掌握本地存储与数据库优化技巧!
139 0
|
存储 移动开发 Java
Flutter(二十七)——shared_preferences本地存储
Flutter(二十七)——shared_preferences本地存储
440 2
Flutter(二十七)——shared_preferences本地存储
|
存储 Android开发 iOS开发
Flutter 本地存储之shared_preferences
Flutter 本地存储之shared_preferences
149 0
|
存储 Dart Android开发
【Flutter】shared_preferences 本地存储 ( 简介 | 安装 shared_preferences 插件 | 使用 shared_preferences 流程 )
【Flutter】shared_preferences 本地存储 ( 简介 | 安装 shared_preferences 插件 | 使用 shared_preferences 流程 )
360 0
【Flutter】shared_preferences 本地存储 ( 简介 | 安装 shared_preferences 插件 | 使用 shared_preferences 流程 )
|
Dart
Flutter:删除所有已保存的shared_preferences首选项
dart - Flutter:删除所有已保存的shared_preferences首选项 想在用户点击注销时删除所有保存的shared_preferences首选项。有什么方法可以一次性完成而不删除一个吗?
183 0
|
存储
flutter中本地存储shared_preferences的使用·
首先在 pubspec.yaml 文件中添加 shared_preferences 引用并 Packages get
206 0
|
4月前
|
监控 Dart 安全
创建一个Dart应用,监控局域网上网记录的软件:Flutter框架的应用
在当今数字时代,网络安全变得愈发重要。为了监控局域网上的上网记录,我们可以借助Flutter框架创建一个强大的Dart应用。在这篇文章中,我们将深入讨论如何使用Flutter框架开发这样一个监控局域网上网记录的软件,并提供一些实用的代码示例。
279 1
|
4天前
|
Dart 前端开发 开发者
【Flutter前端技术开发专栏】Flutter Dart语言基础语法解析
【4月更文挑战第30天】Dart是Google为Flutter框架打造的高效编程语言,具有易学性、接口、混入、抽象类等特性。本文概述了Dart的基础语法,包括静态类型(如int、String)、控制流程(条件、循环)、函数、面向对象(类与对象)和异常处理。此外,还介绍了库导入与模块使用,帮助开发者快速入门Flutter开发。通过学习Dart,开发者能创建高性能的应用。
【Flutter前端技术开发专栏】Flutter Dart语言基础语法解析
|
4天前
|
Dart 测试技术 UED
Dart 和 Flutter 错误处理指南 | 最佳实践全解析
深入探索 Dart 和 Flutter 中的错误处理技术,从编译时错误到运行时异常,带你学习如何优雅地处理应用程序中的各种意外情况。了解最佳实践,让你的应用程序稳如磐石,用户体验持续优化!
Dart 和 Flutter 错误处理指南 | 最佳实践全解析
|
8天前
|
存储 缓存 开发框架
Flutter的网络请求:使用Dart进行HTTP请求的技术详解
【4月更文挑战第26天】了解Flutter网络请求,本文详述使用Dart进行HTTP请求