Zaczęłam od podstaw. W Android studio utworzyłam nowy projekt. Wybrałam Androida z minimalną wersją 5.1 (taką jaką mam w swoim telefonie). Podłączyłam telefon i uruchomiłam aplikację. Powitał mnie ładny napis „Hello world” 🙂
Na początku stworzyłam listę 7 obiadów:
https://gist.github.com/jezinka/0f039ecc305ff5e92a911860c4620ee5
Z pliku activity_main.xml, który zawiera layout, usunęłam TextView z komunikatem „Hello World!” i zastąpiłam go:
https://gist.github.com/jezinka/1c14d4b5c5774fbdbccb080820db6932
OK. Mój listview ma szerokość taką jak nadrzędny element (match_parent) i długość dopasowująca się do zawartości (wrap_content). I co teraz, jest lista, jest kontener. Zaglądamy do dokumentacji i tutoriala i po chwili moja klasa MainActivity wyglądał tak:
https://gist.github.com/jezinka/205b6cb73416540b19d94e3c763e0495
https://gist.github.com/jezinka/205b6cb73416540b19d94e3c763e0495.js
ArrayAdapter jest miły i buduje nam TextView dla każdego elementu z tablicy jaką mu podaliśmy i przekazuje go do listView.
No to budujemy:
Fajnie, działa ;P ale jeszcze chciałam, żeby było pokazane, że spis jest od soboty do piątku. Potrzebujemy wyciągnąć z Javy listę dni tygodnia. Możemy zrobić to tak:
https://gist.github.com/jezinka/dec87975f5f4cff0bfc66afc71b87dfd
Czemu ten for taki? Bo getWeekdays() na pierwszej pozycji ma pusty String.
Czemu robię rotate? Bo potrzebuję listę od soboty, a to mi załatwia sprawę 🙂
Czy będę tej funkcji potrzebować przez długi czas? Nie, jak tylko napiszę funkcję, która zwraca mi instancje daty dla minionej (lub obecnej) soboty, ten kawałek kodu będzie tylko wspomnieniem w repozytorium.
Funkcja nam się troszkę rozrosła, więc przeniosę tworzenie wiersza do osobnej funkcji i wykorzystam StringBuffer, bo nie wiem co jeszcze przyjdzie mi do głowy wrzucać zanim nie uznam, że wygląda ok.
https://gist.github.com/jezinka/a945a51c6959129e7bfe9acfd238454e
Budujemy i widzimy:
To wersja zupełnie wstępna i nie przywiązuję się do niej. Same hardkody i żadnych testów, ale moim celem było wystartowanie czegokolwiek na androidzie 😉 ListView jest dość skromny, więc niedługo pewnie znajdę alternatywę.
Nieźle jak na początek.