Archiwum kategorii: Java

RxJava w Androidzie – podstawy. Cz. 1

android-128W niniejszym tutorialu chciałbym przedstawić podstawy RxJavy w systemie Android. Zaczniemy od podstawowych pojęć związanych z programowaniem reaktywnym oraz przejdziemy od razu do ich praktycznego zastosowania. Zobaczymy, że wcale nie jest to takie trudne jak się wydaje.

Czytaj dalej

Android. Jak zrobić wydajną listę zawierającą elementy różnego typu przy pomocy RecyclerView. Cz.3

android-128Mamy zdefiniowane rodzaje elementów, obiekty typu view holder dla nich, abstrakcyjny adapter oparty o typy generyczne, oraz renderujący listę RecyclerView. Pozostało nam już tylko podłączyć do elementów listy metody obsługujące kliknięcia. W głównej aktywności dodamy też metody pozwalające na zareagowanie w różny sposób dla każdego typu elementu.
Czytaj dalej

Android. Jak zrobić wydajną listę zawierającą elementy różnego typu przy pomocy RecyclerView. Cz.2

android-128W pierwszej części tutoriala stworzyliśmy widoki elementów listy oraz ich model danych. Przewijanie listy zawierającej dużą liczbę elementów wiąże się z częstym wywoływaniem metody findViewById, co może znacznie obniżyć wydajność a w rezultacie spowodować, że lista nie będzie przewijała się płynnie. Sposobem na obejście tego problemu jest wzorzec projektowy View Holder. Idea wzorca polega na stworzeniu obiektu, który będzie przechowywał w swoich polach referencje do kontrolek widoku raz pobranych z layoutu metodą findViewById. Kiedy będzie potrzeba odwołania się do kontrolki, robimy to po prostu po przez pole tego obiektu.
Czytaj dalej

Android. Jak zrobić wydajną listę z zawierającą elementy różnego typu przy pomocy RecyclerView. Cz.1

android-128Potrzebujemy wyświetlić listę zawierającą elementy różnego typu. Dla przykładu niech to będzie lista polecanych produktów sklepu na której mogą się znaleźć np. płyta DVD, książka i tp. Lista może też zawierać elementy nie będące produktami jak nagłówek listy czy separator sekcji. Każdy z tych elementów ma swój własny widok z layoutem różnym od pozostałych. Elementy te mają swoje modele danych, reprezentowane przez obiekty różnych klas. Lista może być długa, więc potrzebujemy zarządzania pamięcią jaki oferuje RecyclerView.
Czytaj dalej