Shared Preferences jeszcze raz – CoNaObiad – #2B

Przy przerabianiu kursu androida z Google Udacity Scholarship uznałam, że warto od razu wprowadzać to czego się nauczyłam do apki. W związku z tym postanowiłam przerobić sposób w jaki obsługuję ustawienia użytkownika, tak żeby było bardziej pro 😉

Przede wszystkim wprowadziłam więcej listenerów (jakiekolwiek 😉 ) i to sprawiło, że przestałam się troszczyć o sprawdzenie, czy coś się zmienia czy nie. Od tego mam odpowiednie metody.

https://gist.github.com/jezinka/20e57f9828308c0a51a669498c6a2b51

Pozostawiłam na razie statyczne zmienne przechowujące wartości ustawień. Jakby się coś zmieniło wtedy od nowa przeładowujemy aplikację.

https://gist.github.com/jezinka/65afee7ae37fa7f4688770cc8e60417c

W metodzie onCreate wywołuję metodę pobierającą aktualne wartości ustawień i rejestruję listener:

https://gist.github.com/jezinka/97056176173eb77ff616222fc4f7e2b8

Jeszcze pamiętam o tym, żeby zarejstrowany listener odpiąć w odpowiednim momencie 😉

https://gist.github.com/jezinka/a9084f624c84cc6eea937f68187abbf3

Wyjęłam też fragment z SettingsActivity i jemu też dostały się listenery, tak aż dwa 😉

https://gist.github.com/jezinka/37a2a0a5ddfa40ef69c236c12f46f6c0

Pierwszy czuwa nad tym, żeby przy zmianie wartości odświeżyć też podpis pod ustawieniem żeby nie trzeba było w nie klikać.

https://gist.github.com/jezinka/36f494505eb1b81ac8cd938b6847bf84

Drugiego listenera użyłam do stworzenia walidacji na długość planu, żeby użytkownicy mogli wstawić tylko wartości z przedziału 1-30.

https://gist.github.com/jezinka/1104e1f1aa3470b181026f3a2b0a46fb

Wygląda tak, jak poprzednio, a nawet lepiej, więc nie zepsułam 😉

Screenshot_2017-12-10-17-03-16_com.projects.jezinka.conaobiad.png

W planach mam jeszcze przerobienie list na RecyclerView, ale jeszcze trzeba będzie przerobić bazę danych 😉

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.