Я новичок в программировании флаттера. Я пытаюсь понять вызовы асинхронных функций, но сбился с пути.
Я хочу хранить данные на своем устройстве защищенным способом. Таким образом, при записи данных данные будут зашифрованы, а при чтении данных данные будут расшифрованы. Приложение не знает, что данные зашифрованы на устройстве.
Я создал класс Storage, который использует библиотеку SharedPreferences.
Вторая функция функции чтения заключается в том, что приложение будет ждать, пока данные не станут доступны.
Я написал что-то вроде этого
static String getString(String key) {
SharedPreferences prefs = await SharedPreferences.getInstance();
return _decrypt(prefs.getString(key));
}
Теперь компилятор жалуется, что оператор await не ожидается.
Когда я изменяю функцию на асинхронную функцию и возвращаю будущее, это работает. Однако моя проблема ожидания поднимается до места, где вызывается функция getString.
Цель: функция должна возвращать расшифрованную строку, и основной поток должен ждать, пока данные не станут доступны.
Любая помощь приветствуется