Alternatywy dla findViewById()

Kliknij i wspomóż mnie :)

Android

Nakreślenie problemu

Każdy element wizualnej strony naszej aplikacji, który wymaga interakcji, musi zostać połączony w kodzie (bind).

Każdy kto pracował z więcej niż z 3 elementami (np. formularz) wie jakie potrafi to stworzyć piekło 😈

Za ilość kodu i skomplikowanie najcześciej odpowiada metoda findViewById() oraz listenery np. OnClickListener.

Tyle kodu, a to tylko jedno pole tekstowe i śledzenie jego zmian...

Jakie są alternatywy?

Dla niecierpliwych przedstawiam listę gotowych rozwiązań:

  • Kotlin Android Extensions
  • Butterknife
  • Anko Layouts
  • RxBinding
  • DataBindingLibrary

Wysoce prawdopodobne, że bez względu, który z nich wybierzesz będzie lepszym rozwiązaniem niż dotychczasowe podejście.

Kotlin Android Extensions

Kotlin Android Extensions jest to paczka funkcji rozszerzających, które znacznie skracają kod. O takich funkcjach pisałem tutaj:

Funkcje rozszerzające

Zdecydowanie polecam to rozwiązanie najbardziej. Dostęp do obiektów czy ich parametrów uzyskujemy poprzez operator kropki, a większość za nas robi IDE.

Jak przeprowadzić import i jak działa dokładnie Kotlin Android Extensions dowiesz się tutaj:

Kotlin Android Extensions

Butterknife

Jest to technologia dla fanów DI oraz adnotacji. Butterknife pozwala wstrzykiwać layouty, stringi i wiele więcej. Jest to rozwiązanie dla Javy oraz Kotlina.

Butterknife

Anko Layouts

Anko to jedna z bibliotek wspierająca rozwój Kotlina w Androidzie. Nas szczególnie interesuje DSL. Jest to czytelniejsze i czystsze podejście. Za jego pomocą można tworzyć layouty bez używania XML.

Anko jednak jest przygotowane na uproszczenie także już istniejących layoutów.

Anko Layouts

RxBinding

Programowanie reaktywne stopniowo zdobywa coraz to nowe obszary platformy Android.

Idealnie wpasowywuje się kiedy chodzi o reagowanie na jakiekolwiek zmiany.

Pozostałe przykłady oraz poradnik można znaleźć tutaj:

RxBinding and RxLifecycle

Data Binding Library

Jeżeli chodzi o Data Binding Library to jest to najnowsze rozwiązanie podane przez Google.

Ciekawe jest to, że pozwala łączyć widok z implementacją nie w kodzie, a w samym widoku.

Obecnie Data Binding Library proponuje dużo więcej niż tylko podpinanie pól, ale jest to temat na inny artykuł.

Cała wiedza do zgłębienia znajduje się tutaj:

Data Binding Library

Dziękuję Ci za przeczytanie tego materiału 😀 Jeżeli spodobało Ci się to o czym piszę, możesz sprawdzić więcej materiałów na blogu lub udostępnić znajomym. Będzie mi bardzo miło 😊

O mnie

Jestem młodym programistą, który dumnie dzierży wiele pasji takich jak bieganie czy piwowarstwo domowe. Jedną z nich jest także programowanie i o tym właśnie zamierzam tutaj pisać.

Zobacz więcej

Najnowsze posty

Kliknij i wspomóż mnie :)

Zostańmy w kontakcie

* Wymagane
Kliknij i wspomóż mnie :)
shop
Otwórz Sklep Play

Zachęcam Cię do odwiedzenia mojej strony na Google Play store i sprawdzenia wszystkich moich aplikacji.