首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >共享首选项在发布模式下显示旧值

共享首选项在发布模式下显示旧值
EN

Stack Overflow用户
提问于 2021-01-27 15:47:20
回答 3查看 49关注 0票数 0

在释放模式下的共享首选项值有时会显示旧值,在我的测试期间,它会存储该值,并可以获取我存储的新值,但在关闭应用程序并再次打开之后,有时它会显示旧值,这是我在存储新值之前存储的值。

下面是我的代码示例:存储和获取值:

代码语言:javascript
复制
 void setToken(String userToken) async {
 var sharedPreferences = await shared;
 sharedPreferences.setString("$_token", userToken);
 print("token is: " +sharedPreferences.getString("$_token").toString());
 }
 
 Future getToken() async {
 var sharedPreferences = await shared;
 sharedPreferences.reload();
 String value = sharedPreferences.getString("$_token");
 print("your token: $value");
 return value;
  }

结果消息:

在第一个存储中(获取第一个令牌):token is: eyJhbG.....Ai-A

第二个令牌存储:token is: eyJhbG....oKk

在重新打开app后,我得到了第一个令牌your token: eyJhbG.....Ai-A

有没有人遇到过同样的问题?

EN

回答 3

Stack Overflow用户

发布于 2021-01-27 15:55:52

请复制粘贴以下代码:

代码语言:javascript
复制
 void setToken(String userToken) async {
 var sharedPreferences = await shared;
 sharedPreferences.setString("my_token", userToken);
 print("token is: " +sharedPreferences.getString("my_token").toString());
 }
 
 Future getToken() async {
 var sharedPreferences = await shared;
 sharedPreferences.reload();
 String value = sharedPreferences.getString("my_token");
 print("your token: $value");
 return value;
  }
票数 0
EN

Stack Overflow用户

发布于 2021-01-27 16:26:29

请将此解决方案粘贴到代码中

代码语言:javascript
复制
 void setToken(String userToken) async {
 var sharedPreferences = await shared;
 sharedPreferences.setString("$_token", userToken);
 print("token is: " +sharedPreferences.getString("$_token").toString());
 }
 
 Future getToken() async {
 var sharedPreferences = await shared;
 String value = sharedPreferences.getString("$_token");
 print("your token: $value");
 return value;
  }
票数 0
EN

Stack Overflow用户

发布于 2021-01-27 17:23:31

尝试这个解决方案,这可能会起作用:

代码语言:javascript
复制
void setToken(String userToken) async {
 SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
 sharedPreferences.setString("my_token", userToken);
 print("token is: " +sharedPreferences.getString("my_token").toString());
 }

Future getToken() async {
 SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
 sharedPreferences.reload();
 String value = sharedPreferences.getString("my_token");
 print("your token: $value");
 return value;
 }

在运行应用程序之前尝试flutter clean

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65914846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档