shared_preferences 0.5.6

  • Readme
  • Changelog
  • Example
  • Installing
  • 100

Shared preferences plugin #

pub package

包装NSUserDefaults(在iOS上)和SharedPreferences(在Android上),为简单数据提供持久存储. 数据异步保存到磁盘. 这两个平台都不能保证在返回后将写操作持久化到磁盘,并且该插件不得用于存储关键数据.

Usage #

要使用此插件,请在pubspec.yaml文件中将shared_preferences添加为依赖项 .

Example #

import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

void main() {
  runApp(MaterialApp(
    home: Scaffold(
      body: Center(
      child: RaisedButton(
        onPressed: _incrementCounter,
        child: Text('Increment Counter'),
        ),
      ),
    ),
  ));
}

_incrementCounter() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  int counter = (prefs.getInt('counter') ?? 0) + 1;
  print('Pressed $counter times.');
  await prefs.setInt('counter', counter);
}

Testing #

您可以通过运行以下代码在测试中使用初始值填充SharedPreferences

SharedPrefernces.setMockInitialValues (Map<String, dynamic> values);

0.5.6 #

  • 默认情况下支持web .
  • 需要Flutter SDK 1.12.13 + hotfix.4或更高版本.

0.5.5 #

  • 默认情况下支持macOS.

0.5.4+10 #

  • 添加一个shared_preferences_macos包.

0.5.4+9 #

  • 从pubspec.yaml中删除不推荐使用的author:字段
  • 将插件迁移到pubspec平台清单.
  • 需要Flutter SDK 1.10.0或更高版本.

0.5.4+8 #

  • package:shared_preferences切换到package:shared_preferences_platform_interface . 在Flutter应用中无需更改代码. 这不是一个重大变化.

0.5.4+7 #

  • 重组项目以获得Web支持.

0.5.4+6 #

  • 添加缺少的文档和皮棉,以防止进一步使用未记录的API.

0.5.4+5 #

  • 通过删除flutter_assets来更新和迁移iOS示例项目,将" English"更改为" en",删除无关的xcconfigs和框架输出,更新为Xcode 11构建设置,并删除ARCHS.

0.5.4+4 #

  • setMockInitialValues需要处理非前缀键,因为这是实现细节.

0.5.4+3 #

  • Android:禁止投射警告.

0.5.4+2 #

  • 删除AndroidX警告.

0.5.4+1 #

  • 将生命周期依赖项包含为Android上的compileOnly,以解决与其他传递库的潜在版本冲突.

0.5.4 #

  • 支持Android v2嵌入.
  • 更新到AndroidX.
  • 迁移到使用新的e2e测试绑定.

0.5.3+5 #

  • 定义iOS的clang模块.

0.5.3+4 #

  • 读写值时的"复制List实例可防止传播突变.

0.5.3+3 #

  • 现在可以多次调用setMockInitialValues并在必要时将reload()单例.

0.5.3+2 #

  • 修复Gradle版本.

0.5.3+1 #

  • 将缺少的模板类型参数添加到invokeMethod调用中.
  • 将Flutter的最低版本提高到1.5.0.
  • 必要时,将invokeMethod替换为invokeMapMethod.

0.5.3 #

  • 添加重载方法.

0.5.2+2 #

  • 更新了Gradle工具以匹配Android Studio 3.4.

0.5.2+1 #

  • .commit()调用现在在Android的异步后台任务中运行.

0.5.2 #

  • 添加containsKey方法.

0.5.1+2 #

  • 添加驱动程序测试

0.5.1+1 #

  • 在构建时记录有关先前AndroidX迁移的更详细的警告.

0.5.1 #

  • 使用字符串在Android中保存双精度字.

0.5.0 #

  • 突破性的改变 . 从已弃用的原始Android支持库迁移到AndroidX. 这不应该导致任何功能上的变化,但是如果使用原始插件的Android应用程序也必须迁移 ,因此它们也必须进行迁移 .

0.4.3 #

  • 防止保存与特殊前缀匹配的字符串. 这是一个错误修正,可防止应用意外设置会被错误解释的特殊值.

0.4.2 #

  • 更新了Gradle工具以匹配Android Studio 3.1.2.

0.4.1 #

  • 添加了getKeys方法.

0.4.0 #

  • 突破性的改变 . 设置SDK约束以匹配Flutter beta版本.

0.3.3 #

  • 修复了Dart 2问题.

0.3.2 #

  • 添加了可以检索任何类型的值的吸气剂

0.3.1 #

  • 将Android项目模板简化并升级到Android SDK 27.
  • 更新了软件包说明.

0.3.0 #

  • 突破性的改变 . 升级到Gradle 4.1和Android Studio Gradle插件3.0.1. 较早的Flutter项目也需要升级其Gradle设置才能使用此版本的插件. 说明可以在这里找到.

0.2.6 #

  • 为iOS类型添加了FLT前缀

0.2.5+1 #

  • 将作者姓名与回购的其余部分对齐.

0.2.5 #

  • 修复了设置空值时崩溃的问题. 现在,它们导致密钥被删除.
  • 添加了remove()方法

0.2.4+1 #

  • 修复变更日志中的错字

0.2.4 #

  • 添加了setMockInitialValues
  • 添加了测试
  • 更新的自述文件

0.2.3 #

  • 为Android编译时禁止有关未经检查的操作的警告

0.2.2 #

  • 突破性变化:setStringSet API更改为setStringList,并且插件现在支持有序存储.

0.2.1 #

  • 支持setInt的任意长度整数.

0.2.0+1 #

  • 更新的自述文件

0.2.0 #

0.1.1 #

  • 将Android SDK构建工具升级到25.0.3.

0.1.0 #

  • 初始开源版本.

example/README.md

shared_preferences_example #

演示如何使用shared_preferences插件.

Getting Started #

要获得Flutter入门方面的帮助,请查看我们的在线文档 .

Use this package as a library

1. Depend on it

将此添加到包的pubspec.yaml文件中:


dependencies:
  shared_preferences: ^0.5.6

2. Install it

您可以从命令行安装软件包:

使用Flutter:


$ flutter pub get

另外,您的编辑器可能支持flutter pub get . 查看您的编辑器文档以了解更多信息.

3. Import it

现在,在Dart代码中,您可以使用:


import 'package:shared_preferences/shared_preferences.dart';
  
Popularity:
描述该程序包相对于其他程序包的受欢迎程度. [更多]
100
Health:
Code health derived from static analysis. [more]
100
Maintenance:
反映出软件包的整洁和最新状态. [更多]
100
Overall:
以上的加权分数. [更多]
100
了解有关得分的更多信息.

我们在2019年12月11日分析了此软件包,并在下面提供了分数,详细信息和建议. using: 分析已完成,状态使用以下命令 :

  • 飞镖:2.7.0
  • 最高:0.13.1 + 4
  • Flutter:1.12.13 + hotfix.4

Dependencies

Package Constraint Resolved Available
直接依赖
Dart SDK > = 2.0.0-dev.28.0 <3.0.0
flutter 0.0.0
meta ^1.0.4 1.1.8
shared_preferences_macos ^0.0.1 0.0.1
shared_preferences_platform_interface ^1.0.0 1.0.1
shared_preferences_web ^0.1.2 0.1.2
传递依存关系
collection 1.14.11 1.14.12
flutter_web_plugins 0.0.0
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
开发依赖
e2e ^0.2.0
flutter_driver
flutter_test
test any

by  ICOPY.SITE