flutter - 是否可以在一个小部件中两次使用SharedPreferences?

标签 flutter dart sharedpreferences

我试图在一个文件中将ints的两个 SharedPreferences安全保存。我不知道是否可行,因为我只能保存其中之一。我不确定代码是否有误,或者无法将中的另一个值保存为 StatefulWidget。是否有人在我的代码中看到错误或可以告诉我从理论上讲是否可以在一个文件中保护两个值?以下是我的两个安全请求的代码。

安全请求一个(一个有效):

 int lastLoginInt = 1;
 String nameKey = "_key_name";
@override
  void initState() {
    super.initState();
  }

  Future<bool> saveLastLoginInt() async {
    SharedPreferences preferences = await SharedPreferences.getInstance();
    return await preferences.setInt(nameKey, lastLoginInt);
  }

  Future<int> loadLastLoginInt() async {
    SharedPreferences preferences = await SharedPreferences.getInstance();
    return preferences.getInt(nameKey);
  }

  setLastLoginInt() {
    loadLastLoginInt().then((value) {
      setState(() {
        lastLoginInt = value;
      });
    });
  }

这是我的第二个请求(不起作用):
String nameKey1 = "_key_name2";
int countInt = 0;
Future<bool> saveCount() async {
    SharedPreferences preferences = await SharedPreferences.getInstance();
    return await preferences.setInt(nameKey1, countInt);
  }

  Future<int> loadCount() async {
    SharedPreferences preferences = await SharedPreferences.getInstance();
    return preferences.getInt(nameKey1);
  }

  setCount() {
    loadLastLoginInt().then((value) {
      setState(() {
        countInt = value;
      });
    });
  }

希望这是一个易于解决的问题。提前致谢!

最佳答案

是的,它的可能和允许的。在设置页面等时,我已经从SharedPrefs中加载了多个值。

您只是在调用loadLastLoginInt()而不是loadCount()

关于flutter - 是否可以在一个小部件中两次使用SharedPreferences?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61855824/

相关文章:

firebase - 如何使用 flutter 从 firestore 中检索特定的用户详细信息

java - 尽管我使用 SharedPrefs 自动登录,但它们似乎已被删除

android - 如何将手机摄像头拍摄的图像从一个 Activity 移动到另一个 Activity 的 ImageView ?

java - 如何在Android中将ArrayList存储到sharedPreferences中

flutter - Flutter 是否有在移动和 Web 应用程序之间共享代码的好方法?

flutter - 有没有办法在 Flutter 中将 Text 与 spritewidget 一起使用?

async-await - Flutter - 导航器回调刷新屏幕中的异步方法

flutter - Flutter/Dart-获取要在Text Widget中使用的PageView.Builder的索引号?

html - 为什么YouTube加载速度如此之快,每次移动进度时,我都会尝试使用flutter代码多次,

flutter - flutter 怎么办