Skip to content

[66] Implement a convenient utility mechanism for working with SharedPreferences

Создать функционал для асинхронной работы с SharedPreferences, позволяющая удобно сохранять данные и обрабатывать результаты операций.

Функциональные требования:

  1. Функция-расширение должна асинхронно сохранять данные в SharedPreferences с выбором режима записи (APPLY или COMMIT).
  2. Пользователь должен иметь возможность передать функции обратного вызова для успешного и ошибочного результата операции сохранения данных.
  3. Функция-расширение должна поддерживать выборочную загрузку данных из SharedPreferences с фильтрацией по ключу.

Нефункциональные требования:

  1. Функционал должнен быть оптимизирован для работы с функциями высшего порядка.
  2. Результаты операций (успешный результат и ошибка) должны быть доступны для обработки в вызывающем коде.
  3. Механизм работы с SharedPreferences должен быть вынесен с главного потока.
  4. На вход функция должна принимать лямбду с SharedPreferences.Editor, лямбды на успешное завершение и ошибку

Merge request reports

Loading