#16 Praktyka czyni mistrza, czyli dopasowujemy aktywności do nowej logiki

Wspominałem w którymś wcześniejszym wpisie, że te ekrany, na których aktualnie mamy 5 prób zostaną przerobione, na takie bardziej arcadowe. O tym chciałem też dzisiaj napisać, udało mi się całkiem bezboleśnie przeprowadzić taką operację. Oto jak to wyglądało.

Po pierwsze przebudowałem trochę ekran główny dodając przycisk „Practice” i pod tym przyciskiem ukryte są kolejne aktywności:

Po drugie potrzebowałem w jakiś sposób odróżnić kiedy aktywność ma zachowywać się normalnie, a kiedy jest to ekran praktyk. Osiągnąłem to korzystając z możliwości przekazania danych w intencji. Przekazanie wygląda tak:
a odczyt:
Czyli przekazujemy wartość boolean, przy odczycie z kolei drugi parametr oznacza wartość domyślną, czyli co tam przypisać jeśli nic nie znajdziemy.
Po trzecie, potrzebny był widok w którym mógłbym zapisywać zdobyte punkty i popełnione pomyłki, wykorzystałem istniejące już obiekty i oto jest:
Ikona zegarka w bieżącej implementacji jest ukryta, ale przyda się w przyszłości 😉 Reszta mam nadzieję jest zrozumiała i czytelna.
Po czwarte i ostatnie, implementacja. Tutaj trzeba było dodać warunek, jak aplikacja ma się zachowywać kiedy przyszła z ekranu praktyk, czyli powyżej odczytany intent Extra ma wartość true. Wklejam poniżej przykładowy kod jak to wygląda:
 

Te warunki pewnie można napisać lepiej, także pomyślę nad nimi i je poprawię, jeśli myślenie poskutkuje 😉 A na sam koniec oto jak to wygląda na jednym przykładzie:
Jak widać poszło całkiem sprawnie i bezboleśnie. Następnym krokiem będzie wykorzystanie pokazanego już tutaj zegarka, ale o tym innym razem.
Pozdrawiam!