Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TODO #6

Open
34 tasks done
TMichaelan opened this issue Apr 27, 2023 · 0 comments
Open
34 tasks done

TODO #6

TMichaelan opened this issue Apr 27, 2023 · 0 comments
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request help wanted Extra attention is needed

Comments

@TMichaelan
Copy link
Owner

TMichaelan commented Apr 27, 2023

Celem zadania jest przygotowanie aplikacji typu lista-szczegóły z zastosowaniem fragmentów. Aplikacja ma być spisem przepisów kulinarnych, czyli książką kucharską.

Wymagania minimalne:

  • Aplikacja ma składać się z dwóch aktywności: głównej wyświetlającej listę potraw oraz aktywności szczegółów uruchamianej po kliknięciu wybranej potrawy z listy i wyświetlającej co najmniej listę składników oraz sposób przygotowania potrawy
  • Aplikacja ma korzystać z fragmentów
  • Aplikacja powinna mieć wersję układu dla smartfonów i osobną dla tabletów
  • Aplikacja powinna działać poprawnie po zmianie orientacji urządzenia

Wymagania dodatkowe:

Celem zadania jest rozwinięcie aplikacji typu lista-szczegóły przygotowanej na poprzednich zajęciach o fragment dynamiczny. Do aplikacji należy dodać fragment obsługujący pomiar czasu w formie minutnika.

Wymagania minimalne:

  • We fragmencie szczegółów należy zagnieździć fragment dynamiczny minutnika

  • Minutnik ma wyświetlać czas z dokładnością do sekundy

  • Minutnik powinien działać poprawnie na smartfonach i tabletach

  • Minutnik powinien działać poprawnie po zmianie orientacji urządzenia

  • Minutnik powinien mieć przyciski:

  • start - uruchamiający odliczanie,

  • stop - wyłączający odliczanie po dojściu do zera

  • przerwij - wyłączający odliczanie w dowolnym momencie

  • Osiągnięcie wartości zerowej ma być odpowiednio sygnalizowane. Do wyboru co najmniej jedna z opcji: wizualnie, dźwiękowo, wibracjami.

  • Ponadto minutnik ma mieć jedną z dwóch funkcji do wyboru:

    • ma automatycznie ustawić pierwszy czas z przepisu, a po odliczeniu tego czasu do końca i reakcji użytkownika automatycznie ustawić kolejny czas z przepisu
    • ma mieć możliwość ustawienia czasu przed uruchomieniem odliczania

Wymagania dodatkowe:

  • Kod w Kotlinie
  • [❌] Możliwość uruchomienia kilku minutników jednocześnie, gdy podczas przygotowywania potrawy można kilka czynności wykonać naraz np. gotowanie makaronu i jajek równocześnie, ale przez różny czas
  • Narastający sygnał komunikujący o zakończeniu odliczania (np. coraz głośniejszy dźwięk)
  • Umieszczenie na przyciskach ikon zamiast napisów

Jest to kontynuacja aplikacji z poprzednich zajęć i zmiana jej strony wizualnej oraz niektórych mechanizmów nawigacyjnych. Ekran listy ma się składać z co najmniej trzech kart. Pierwsza karta ma być kartą główną aplikacji, a pozostałe mają być kartami kategorii. Karta główna będzie informować o przeznaczeniu aplikacji, a karty kategorii mogą np. dzielić potrawy według dowolnego kryterium np. mięsne i wegańskie, kuchnia polska i zagraniczna, zupy i drugie dania, surówki i sałatki, ciasta i desery lub jakiegokolwiek inny sensowny podział, który przyjdzie Wam do głowy.

Wymagania minimalne:

  • Karty kategorii zamiast listy nazw potraw mają używać widoku RecyclerView z układem siatki (grid), w którym poszczególne pozycje (potrawy) będą prezentowane w postaci obrazka i nazwy, dla których użyto widoku CardView. Kliknięcie wybranej pozycji (potrawy) powoduje wyświetlenie szczegółów, czyli nazwy potrawy, większego obrazka, listy składników i sposobu przygotowania.
  • Na ekranie szczegółów ma się pojawić przycisk FAB (floating action button), który będzie odpowiedzialny za przesłanie listy składników do innej aplikacji (w uproszczonej wersji działanie przycisku może prowadzić jedynie do wyświetlenia odpowiedniego komunikatu).
  • W aplikacji należy zastosować motywy.
  • W aplikacji należy korzystać z fragmentów.
  • Aplikacja ma działać poprawnie przy zmianie orientacji urządzenia.
  • Każda aktywność ma mieć pasek aplikacji w postaci paska narzędzi.
  • Ekran szczegółów ma być przewijany w pionie razem z paskiem aplikacji.
  • Na ekranie szczegółów obrazek ma się pojawić na pasku aplikacji, ale ma się razem z nim zwijać.
  • Przechodzenie pomiędzy kartami ma się odbywać także za pomocą gestu przeciągnięcia.

Elementy dodatkowe:

  • Kod w Kotlinie
  • Dane umieszczone poza urządzeniem
  • Wykorzystanie motywów z biblioteki wzornictwa (material design)
  • [❌] Dodanie do paska aplikacji akcji.
  • [❌] Dodanie do paska aplikacji opcji wyszukiwania przepisów zawierających dany składnik.
  • [❌] Opracowanie własnych ikon związanych z akcją.
  • Dodanie szuflady nawigacyjnej.
  • Opracowanie własnej ikony dla aplikacji

Jest to kontynuacja aplikacji z poprzednich zajęć i dodanie do niej krótkiej animacji, która będzie się pojawiać w trakcie uruchamiania aplikacji. Animacja powinna być związana tematycznie z realizowanym zadaniem.
Wymagania minimalne:

  • Animacja ma się opierać na systemie animacji właściwości, czyli korzystać z obiektu ObjectAnimator

Elementy dodatkowe:

  • Kod w Kotlinie
  • [❌] Uruchomienie kilku animatorów równocześnie
  • [❌] Animacja reagująca na działania wybranego sensora lub sensorów
  • Ruchy obiektów zgodne z regułami biblioteki wzornictwa Material Design
  • [❌] Ruchy obiektów zgodne z prawami fizyki
  • Inne wg uznania
@TMichaelan TMichaelan added documentation Improvements or additions to documentation enhancement New feature or request help wanted Extra attention is needed labels Apr 27, 2023
@TMichaelan TMichaelan pinned this issue Apr 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants