Pierwsza aplikacja w Android Studio - problem daty i godziny

0

Hejka, robię swoją pierwszą aplikację w Android Studio, która ma umożliwiać zapisy na wizyty lekarskie. Moje Gui wygląda tak że najpierw mamy Spinnera z wyborem konkretnego lekarza, a potem dwa TextView z datą i godziną(dodany kalendarz i zegar do tych pól). Wszytkie dane zapisują się do bazy danych Firbase. Moj problem polega teraz na tym w jaki sposób zrobić tak, aby można było na zegrze wybrać tylko konkretne godziny przyjmowania lekarzy np 11:15 11:30 (a 11:25 nie) oraz jak zobić żeby w momencie gdy dana data i godzina juz istnieją dla danego lekarza w bazie danych to żeby godzina była niemożliwa do wybrania przez użytkownika.
Z góry dzięki za pomoc

0

Sprawa niestety nie jest banalna.

  1. Żeby móc zwiększać czas tylko o określone wartości możesz teoretycznie rozzszerzyć TimePicker i dodać tam swoją logikę, ale na różnych wersjach Androida może to różnie działać. Najepiej stworzyć własny widok, który będzie konfigurowalny albo skorzystać z jakiejś zewnętrznej biblioteki.

  2. Żeby godzina była niemożliwa do wybrania z poziomu aplikacji musisz pobrać już zajęte godziny z bazy danych i je zablokować w swoim widoku do wybierania godzin. Ponownie - najlepiej stworzyć własny, konfigurowalny widok.

  3. Żeby godzina była niemożliwa do wstawienia po stronie Firebase'a musisz odpowiednio skonfigurować swoją bazę danych. Jakoś specjalnie na Firebase się nie znam, ale można pewnie to rozwiązać na dwa sposoby. Albo odpowiednio zbudować węzły w bazie, żeby nie pozwalać na duplikację wartości, albo nałożyć ograniczenia w regułach Firebase'a. Potem powinieneś też obsłużyć odpowiednio błędną sytuację w aplikacji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1