Search code examples
androidflutterdartsharedpreferences

Not able to retrieve proper value from stored shared preference in Flutter


I have use shared preferences for store api token.but it not return full token. always missing some letters from end of token.

this is how a tried.

SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString("bearer_token", response.data!.accessToken ?? "");


SharedPreferences prefs = await SharedPreferences.getInstance();
token = prefs.get('bearer_token').toString();

Solution

  • To accept null value while receiveing you need to change

    token = prefs.get('bearer_token').toString();
    

    to

    token = prefs.getString('bearer_token');// now it return nullable string
    

    And it should define like String? token;.

    Also you are saving empty string on null case.

    You can do

    prefs.setString("bearer_token", response.data?.accessToken ?? "");
    

    Now check empty string like

    final result = prefs.getString('bearer_token')??"";
    if(result.isEmpty){
      ///....
    }