基于shared_preferences的本地存储

什么是shared_preferences?

shared_preferences是Flutter社区开发的一个本地数据存储的插件:

  • 简单的,异步的,持久化的key-value存储系统;
  • 在Android上它是基于SharedPreferences的;
  • 在iOS上它是基于NSUserDefaults的;

如何使用shared_preferences?

在pubspec.yaml文件中添加:

1
2
dependencies:
shared_preferences: ^0.5.1+1

然后执行 flutter packages get命令来安装该插件。

在需要的文件中导入:

import 'package:shared_preferences/shared_preferences.dart';

如何存储数据:

1
2
3
final prefs = await SharedPreferences.getInstance();
// set value
prefs.setInt('counter',counter);

如何读取数据:

1
2
final prefs = await SharedPerferences.getInstance();
final counter = prefs.getInt('counter') ?? 0;

如何删除数据:

1
2
final prefs = await SharedPreferences.getInstances();
prefs.remove('counter');

shared_preferences的常用API

  • 存储相关

    1
    2
    3
    4
    5
    Future<bool> setString(String key,String value); 
    Future<bool> setBool(String key,bool value);
    Future<bool> setDouble(String key,double value);
    Future<bool> setInt(String key,int value);
    Future<bool> setStringList(String key,List value);

    如上所示,shared_preferences支持int、double、bool、string与stringList类型的数据存储;

  • 读取相关

    1
    2
    3
    4
    5
    6
    7
    dynamic get(String key);				
    bool getBool(String key);
    double getDouble(String key);
    int getInt(String key);
    Set<String> getKeys();
    String getString(String key);
    List<String> getStringList(String key);

以上就是shared_preferences的简单介绍。

谢谢您的支持!