Настало время поговорить о SharedPreferences. Как Kotlin может помочь сделать их использование более удобным и приятным? Первое, что приходит в голову, это кастомные геттер и сеттер:

Этот финт функционален, но недостаточно изящен. Давайте взлянем в сторону делегатов:

Теперь мы можем объявлять переменные через этот делегат:

Но в таком подходе есть два неприятных момента: мы не можем влиять на значение по умолчанию, а имя ключа в SharedPreferences всегда будет таким же, как имя переменной. Пора подняться на уровень выше!

Вот как теперь можно объявлять переменные (параметр defValue можно опустить):

И последний апгрейд. Мы можем вынести все делегаты в отдельный файл и пользоваться таким способом по всему проекту:

Использование:

 

Добавить комментарий

Закрыть меню