从Flutter中的共享郡县获取语言



我想将当前语言保存在一个变量中,以便在其他页面中使用。我将shared_preferences与fluft_translate一起使用。

在我的app.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));
}

}

如果我打印:

print(TranslatePreferences().getPreferredLocale());

我得到:Instance of 'Future<Locale>'

如何管理它来获取getPreferredLocale((的值并存储在变量中?

感谢

final Future<String> futureValue = Future.value("Hello !");

同步中打印未来值

void main() {
futureValue.then((value) => print(value)); // Hello !
}

异步中打印未来值

void main() async {
final value = await futureValue;
print(value); // Hello !
}

最新更新