Press "Enter" to skip to content

Menu i… Recycler View

Ten tydzień był podobnie pracowity jeśli chodzi o ilość napisanego kodu, ogarnięciu projektu, jednak był też czas na naukę 😉 Ostatnio zajmowałem się implementacją dodawania informacji o tankowaniach. Potrzebowałem kolejnego wyświetlenia listy, w której będą skrócone informacje na temat naszego tankowania, więc standardowe widoki list Androida nie były dobrym rozwiązaniem. Potrzebowałem własnego stylu wyświetlania. Z pomocą przyszedł Card View oraz Recycler View.

Recycler View oraz Card View

Pierwsza lista, którą zrobiłem, była zaimplementowana za pomocą fragmentów, które są dodawane kolejno w zależności od ilości pojazdów w bazie danych. Wyświetlane są tam podstawowe informacje jak numer rejestracyjny pojazdu, marka oraz model. Teraz chciałem dodać skrócone informacje na temat tankowań. b00sti podpowiedział mi, że takie rozwiązanie nie jest dobre i aktualnie korzysta się z elementów RecyclerView. Pomyślałem, że czemu nie spróbować? Celem projektu i udziału w konkursie jest przede wszystkim nauczenie się pisania aplikacji na Androida, więc wypadałoby uczyć się tak jak należy 🙂

Początki z RecyclerView

Jako, że nigdy nie miałem doczynienia z wyżej wymienionymi elementami, postanowiłem trochę poświęcić czasu na ogarnięcie tego. Szukanie tutoriali, artykułów i innych przydatnych rzeczy. Znalazłem jeden w miarę możliwości tutorial na stronie Android developer. Jednak było kilka rzeczy nie do końca jasnych dla mnie (okazało się, że to jest jeden podrozdział całego tutorialu ^^)… Postanowiłem zajrzeć do książki z której ogarniam całą moją wiedzę na temat Androida i… voila… w ostatnim rozdziale jest informacja na ten temat (pewnie doszedłbym do tego pod koniec maja 😉 ). Książka o której mówię to Android. Programowanie aplikacji. Rusz głową! – swoją drogą świetna książka, tak jak i cała seria, polecam.

CardView

Dowiedziałem się także, że do pokazania niestandardowego elementu listy przydana będzie znajomość elementu CardView. CardView jest to taki element widoku, w którym można umieścić tylko jeden element wewnętrzny. Można nim opakować dowolny layout (Relative, Grid, Linear, etc.) i wewnątrz niego dodawać elementy, jak w każdym normalnym widoku aktywności. Połączenie CardView z RecyclerView pozwala osiągnąć naprawdę fajne efekty 🙂 Dodatkowo RecyclerView działa szybciej, ponieważ kasuje niewidoczne elementy CardView.

Menu

W widoku szczegółów pojazdu, pojawia nam się menu na pasku akcji (górny pasek), w którym mamy widoczne dwa elementy – Fueling oraz Settings. Pierwszy służy do wyświetlenia listy z tankowaniami dla danego samochodu, drugi zaś – jest to automatycznie wygenerowany element przez android studio (do usunięcia w przyszłości).

Implementacja

Czas pokazać co udało się zrobić, trochę teorii na początek zostało napisane, wystarczy 🙂
Na początek widok menu w aktywności z informacjami o pojeździe:

Menu

Po kliknięciu pierwszej opcji w menu, zostaniemy przeniesieni do widoku listy z tankowaniami dla danego pojazdu:

Lista tankowań

Na chwilę obecną pobierane z bazy są wszystkie tankowania. Wczoraj podczas implementacji listy, zauważyłem, że nie mam metody findByVehicleId, więc użyłem findAll. Implementacja na chwilę obecną bardziej polegała na zrobieniu testów, czy wszystko będzie się dobrze wyświetlać, ale jednak bug pozostał i trzeba będzie go naprawić.

Podsumowanie

Opóźnienia wywołane długim weekendem ciągną się do tej pory (trzeba będzie to jakoś nadrobić), dlatego poniedziałkowy artykuł wrzucam dopiero dzisiaj ^^. Cel czasowy mniej więcej osiągnięty, nadal pomiędzy 3-4h na projekt tygodniowo. Licząc czas spędzony na naukę RecyclerView będzie dodatkowe kilka godzin, więc tydzień jak najbardziej udany 🙂
Znalazłem kilka bugów do poprawy, które będę chciał wyeliminować do końca trwania konkursu. Obawiam się, że niestety nie uda mi się osiągnąć wszystkich celów konkursowych, ale będę się starał (trzeba zaktualizować listę na trello) 🙂

I tym optymistycznym akcentem, kończę i życzę udanego tygodnia 🙂