从 Flutter 中的共享偏好中获取价值

Get value from shared preference in Flutter

亲爱的 Whosebug 社区,

我想在我的应用程序中获取区域设置语言的值。我正在使用共享首选项,我想在另一个页面中使用区域设置语言值,但我找不到调用该值的方法:

这是我的页面 main.dart,其中:

    class TranslatePreferences implements ITranslatePreferences
{
  static const String _selectedLocaleKey = 'selected_locale';

  @override
  Future<Locale> getPreferredLocale() async
  {
    final preferences = await SharedPreferences.getInstance();

    if(!preferences.containsKey(_selectedLocaleKey)) return null;

    var locale = preferences.getString(_selectedLocaleKey);
    return localeFromString(locale);

  }


  @override
  Future savePreferredLocale(Locale locale) async
  {
    final preferences = await SharedPreferences.getInstance();

    await preferences.setString(_selectedLocaleKey, localeToString(locale));

  }


}

如果我理解得很好,我必须在我的其他页面中使用 getPreferredLocale() 但即使我导入 main.dart 我也可以在 lang.dart 页面中获取 getPreferredLocale():

class lang{
string lang=TranslatePreferences.getPreferredLocale();
print(lang);

}

感谢您的帮助。

TranslatePreferences 文件底部(class 之外)添加:

TranslatePreferences translatePreferences = TranslatePreferences();

然后在lang class中你可以使用它:

string lang=translatePreferences.getPreferredLocale();