flutter缓存管理

这篇博客介绍了如何在Flutter应用中使用shared_preferences库进行数据缓存。首先从pub.dev获取库,然后在页面导入并创建一个缓存类HiCache,包含初始化、设置和获取各种类型数据的方法。最后展示了如何调用缓存类来获取存储的用户名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

flutter使用shared_preferences进行缓存管理

第一步:在pub.dev中获取shared_preferences

第二步:在页面中导入shared_preferences

第三步:定义缓存类:

class HiCache {
  SharedPreferences prefs;
  HiCache._() {
    init();
  }

  static HiCache _instance;

  HiCache._pre(SharedPreferences prefs) {
    this.prefs = prefs;
  }

  /// 预初始化,防止在get使用时,sharedPreference还未初始化
  static Future<HiCache> preInstance() async {
    if (_instance == null) {
      var prefs = await SharedPreferences.getInstance();
      _instance = HiCache._pre(prefs);
    }
    return _instance;
  }

  static HiCache getInstance() {
    if (_instance == null) {
      _instance = HiCache._();
    }
    return _instance;
  }

  void init() async {
    if (prefs == null) {
      prefs = await SharedPreferences.getInstance();
    }
  }

  setString(String key, String value) {
    prefs.setString(key, value);
  }

  setDouble(String key, double value) {
    prefs.setDouble(key, value);
  }

  setInt(String key, int value) {
    prefs.setInt(key, value);
  }

  setBool(String key, bool value) {
    prefs.setBool(key, value);
  }

  setStringList(String key, List<String> value) {
    prefs.setStringList(key, value);
  }

  T get<T>(String key) {
    return prefs?.get(key) ?? null;
  }
}

第四步:使用cache

String username = await HiCache.getInstance().get('userName');
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值