Przez zeszły tydzień usilnie próbowałem zakodować nowe funkcje do projektu. W środę jak siadłem do Visual Studio w południe, tak wstałem dopiero wieczorem. Pisałem kod przez prawie 7h! To ekstremum i nikomu nie radze tak robić. Ale akurat we środę złapałem takie „flow”, że wiedziałem, że nie wstanę dopóki nie skończę. Oczywiście nie skończyłem i wstając od komputera wieczorem program rzucał tylko wyjątkami i w zasadzie nic nie działało.
Jednak we czwartek podczas zajęć doznałem olśnienia(jak to zwykle bywa, gdy człowiek odpocznie od problemu). Gdy wróciłem do domu, wystarczyło lekko przebudować model danych, spędzić chwilę w debuggerze i wszystko działa jak złoto. Tym samym mogę oficjalnie ogłosić:
Codziennik ma pierwszą w pełni działającą wersję!
Wprawdzie nie ma wszystkich funkcji, które chciałbym, aby były w finalnej wersji, ale nie ulega wątpliwości, że jest to w pełni działająca aplikacja, której można używać. Aczkolwiek, jest oznaczona dopiskiem beta – nigdy nie wiadomo, jaki scenariusz użycia wybierze Użytkownik końcowy. Tym samym, może on wykonać sekwencję działań, które doprowadzą do nieprzewidzianego zachowania aplikacji.
Ale przechodząc już do samej aplikacji. Funkcje jakie posiada ona w tej wersji:
- Dodawanie nowych wpisów
- Zapis i odczyt wpisów z pamięci
- Przeglądanie listy wpisów
- Podgląd treści wpisu
- Usuwanie wpisów
Interfejs
Jak to wszystko wygląda w aplikacji? Zaraz po uruchomieniu dostajemy listę wpisów. Jako, że jest to pierwsze uruchomienie zaraz po zainstalowaniu, to nie ma żadnych wpisów. Pojawia się więc Alert, który zachęca nas do dodania swojego pierwszego wpisu:
Pójdę za jego radą i właśnie to zrobię. W tym celu należy przycisnąć „plusik” w prawym górnym rogu ekranu. Dzięki temu naszym oczom ukaże się ekran dodawania nowego wpisu:
Po wprowadzeniu pożądanego tekstu możemy śmiało nacisnąć przycisk „Zapisz”, aby aplikacja przeprowadziła zapis tego wpisu do pamięci. Po wykonaniu tej operacji, zostaniemy przeniesieni do pierwszego ekranu, czyli listy wszystkich wpisów na którym zobaczymy dodany przez nas przed chwilą wpis:
Gdy naciśniemy na wybrany wpis, zostaniemy przeniesieni do ekranu, na którym będziemy mogli zobaczyć jego treść:
Na tym ekranie, możemy przeprowadzić usunięcie wpisu. Aby to zrobić należy nacisnąć znak „minus” w prawym górnym rogu ekranu. Gdy to zrobimy, aplikacja zapyta nas, czy na pewno wiemy co robimy:
Po naciśnięciu przycisku „Anuluj” po prostu wrócimy do ekranu podglądu wpisu. Natomiast, gdy jednak zdecydujemy się usunąć wpis, zostaniemy o tym poinformowani stosownym komunikatem, który zawiera datę wpisu, który właśnie skasowaliśmy:
Po naciśnięciu przycisku „Ok” zostaniemy przeniesieni na główny ekran aplikacji, który widzieliśmy na samym początku. Nie zobaczymy na nim już naszego wpisu. Usunęliśmy go przecież bezpowrotnie.
Czego zabrakło?
Najważniejszej funkcji której brakuje w tej wersji to edycja już istniejących wpisów. Jednak podczas pisania tej wersji zorientowałem się, że kilka rzeczy będzie zrealizowanych inaczej i nie było sensu dodawać edycji, gdyż musiałbym ten mechanizm całkowicie przebudować w niedługim czasie.
Pomimo tego, że nie jest to aplikacja jaką chciałbym, żeby Codziennik finalnie był, to jestem bardzo zadowolony, z tego na jakim etapie prac przy projekcie jestem. Bardzo mnie cieszy, że udało mi się napisać tak zaawansowaną aplikację będąc jeszcze przed połową czasu trwania konkursu.
Jak zawsze kod źródłowy można znaleźć na moim Githubie w tym repozytorium. Ta wersja została oznaczona tagiem v0.1beta. Przechodząc pod niego można zobaczyć jak wyglądał kod podczas pisania tego posta.