0

Shared pref value in release mode shows the old value sometimes, during the my testing it stores the value and can get the new value that I stored just to make sure but after closing application and opening it again, sometimes it shows the the old value, which I stored befoe new one.

here is example of my code: to store and get value:

 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;
  }

The result message:

in first store ( getting first token): token is: eyJhbG.....Ai-A

Second token storing: token is: eyJhbG....oKk

And after reopening app, I get the 1st token your token: eyJhbG.....Ai-A

Is there anyone that faced the same issue?

BosS
  • 447
  • 2
  • 9

3 Answers3

0

Please copy-paste the below code:

 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;
  }
Gourango Sutradhar
  • 1,461
  • 10
  • 16
0

please paste this solution in your code

 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;
  }
Avinash
  • 522
  • 4
  • 11
0

Try this solution, this might work:

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;
 }

Try flutter clean before run the app.

shorol
  • 790
  • 5
  • 11