Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 是否可以在一个小部件中使用SharedReferences两次?_Flutter_Dart_Sharedpreferences - Fatal编程技术网

Flutter 是否可以在一个小部件中使用SharedReferences两次?

Flutter 是否可以在一个小部件中使用SharedReferences两次?,flutter,dart,sharedpreferences,Flutter,Dart,Sharedpreferences,我试图在一个文件中使用SharedReferences保护两个int。我不知道这是否可能,因为我只能拯救其中一个。我不确定我是否在代码中出错,或者是否无法在oneStatefulWidget中保存到不同的值。是否有人看到我的代码中有错误,或者可以告诉我理论上是否可以在一个文件中保护两个值?下面是我两个安全请求的代码 Safe请求一个(该有效): int lastLoginInt=1; 字符串nameKey=“\u key\u name”; @凌驾 void initState(){ super.

我试图在一个文件中使用
SharedReferences
保护两个
int
。我不知道这是否可能,因为我只能拯救其中一个。我不确定我是否在代码中出错,或者是否无法在one
StatefulWidget
中保存到不同的值。是否有人看到我的代码中有错误,或者可以告诉我理论上是否可以在一个文件中保护两个值?下面是我两个安全请求的代码

Safe请求一个(该有效):

int lastLoginInt=1;
字符串nameKey=“\u key\u name”;
@凌驾
void initState(){
super.initState();
}
Future saveLastLoginInt()异步{
SharedReferences首选项=等待SharedReferences.getInstance();
return wait preferences.setInt(nameKey,lastLoginInt);
}
Future LoadLastLoginIn()异步{
SharedReferences首选项=等待SharedReferences.getInstance();
返回preferences.getInt(nameKey);
}
setLastLoginInt(){
loadLastLoginIt()。然后((值){
设置状态(){
lastLoginInt=值;
});
});
}
这是我的第二个请求(该请求不起作用):

String nameKey1=“\u key\u name2”;
int countInt=0;
Future saveCount()异步{
SharedReferences首选项=等待SharedReferences.getInstance();
return wait preferences.setInt(nameKey1,countInt);
}
Future loadCount()异步{
SharedReferences首选项=等待SharedReferences.getInstance();
返回preferences.getInt(nameKey1);
}
setCount(){
loadLastLoginIt()。然后((值){
设置状态(){
countInt=值;
});
});
}

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

您的
loadlastloginin
使用键
nameKey
,而
saveCount
使用
nameKey1

nameKey=“\u key\u name”

nameKey1=“\u key\u name2

尝试对两个变量使用相同的值

或 允许您的setCount调用
loadCount
而不是
loadlastloginin

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

您的
loadlastloginin
使用键
nameKey
,而
saveCount
使用
nameKey1

nameKey=“\u key\u name”

nameKey1=“\u key\u name2

尝试对两个变量使用相同的值

或 允许您的setCount调用
loadCount
而不是
loadlastloginin

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

是的,这是可能的,也是允许的。我在创建设置页面等时从SharedPrefs加载了多个值


您只是调用了
loadLastLoginInt()
而不是
loadCount()
是的,这是可能的,也是允许的。我在创建设置页面等时从SharedPrefs加载了多个值


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

什么意思不起作用?setCount方法不起作用?是否要在setCount中从saveCount中检索保存的值?问题在于键,然后是什么?否。您的
setCount()
正在调用
loadLastLoginInt()
而不是
loadCount()
什么意思不起作用?setCount方法不起作用?是否要在setCount中从saveCount中检索保存的值?问题在于键,然后是什么?否。您的
setCount()
正在调用
loadLastLoginInt()
而不是
loadCount()
setCount() {
    loadCount().then((value) {
      setState(() {
        countInt = value;
      });
    });
  }