【问题标题】:Flutter Shared Preferences IssueFlutter 共享首选项问题
【发布时间】:2019-10-01 17:15:59
【问题描述】:

我有一个简单的 Flutter 函数,可以从共享首选项中获取计数器,将其递增,然后将其保存回共享首选项。它位于一个单独的文件中,因为我将添加更多代码并从多个屏幕调用它。问题是当我重新启动应用程序时计数器值不会持续存在。我怀疑问题是我的计数器变量的范围,但我不知道如何解决它。

这是我的代码:

import 'package:shared_preferences/shared_preferences.dart';

var fileName = 'Counter';
int counter;

updateCounter() {

  getCounter(counter) async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    counter = (prefs.getInt('$fileName') ?? 0);
  }

  putCounter(counter) async {
    SharedPreferences preferences = await   SharedPreferences.getInstance();
    preferences.setInt('$fileName', counter);
    );
  }

  getCounter(counter);
  if (counter == null) {
    counter = 0;
  }
  counter++;
  putCounter(counter);

}

【问题讨论】:

    标签: flutter sharedpreferences


    【解决方案1】:

    问题似乎出在这种方法上:

    getCounter(counter) async {
        SharedPreferences prefs = await SharedPreferences.getInstance();
        counter = (prefs.getInt('$fileName') ?? 0);
      }
    

    应该是这样的:

    int getCounter() async {
        SharedPreferences prefs = await SharedPreferences.getInstance();
        counter = (prefs.getInt('$fileName') ?? 0);
        return counter;
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-04
      • 1970-01-01
      • 1970-01-01
      • 2020-04-14
      • 2021-03-05
      相关资源
      最近更新 更多