Pierwsza aplikacja mobilna
Życie programisty to ciągła nauka czy to technologii czy to platformy. Ponownie „zmuszony” w pewnym stopniu zajęciami na uczelni miałem okazję zacząć coś nowego. Tym razem jest to wkroczenie w świat aplikacji mobilnych na platformie Windows Phone. Dlaczego akurat ten system? Po pierwsze dlatego, że mój telefon posiada właśnie Windowsa, po drugie dlatego, że platforma .NET i język C# są środowiskiem, w którym najmocniej staram się rozwijać. Z powodu braku czasu opisuję ją dopiero teraz, kiedy zajęcia na uczelni się skończyły.
Jaka aplikacja poszła na „pierwszy ogień” na nowej platformie? Cóż, ponownie był to program „Kurs walut”, który powoli chyba staje się moim swojego rodzaju „hello worldem” :D Właściwie można by zapytać dlaczego akurat tą aplikację tak męczę na wszystkie możliwe sposoby? Odpowiedź jest raczej prosta. Poza oczywiście tym, że najzwyczajniej w świecie był to pierwszy projekt jaki przyszedł mi kiedyś do głowy kiedy była potrzeba napisania czegoś, to program „Kurs walut” zawiera w sobie wiele elementów, które wykorzystuje się w większości programów, a mianowicie pobieranie plików ze zdalnych hostów, odczyt z pliku, obsługa XML, czy zdarzenia. Nosi też znamiona praktycznej aplikacji, więc nie jest tylko oderwaną od rzeczywistości implementacją jakichś algorytmów.
Do utworzenia projektu wykorzystałem Środowisko Visual Express 2013 for Windows. Aplikację uruchamiałem i testowałem na Nokii Lumii 920.
Na początku włączając program pobierane są wszystkie niezbędne dane czyli najpierw jest to lista wszystkich kursów udostępnianych przez NBP zapisana w formie pliku txt. Potem wybieram z tej listy nazwy plików xml zawierających 5 ostatnich średnich kursów walut. Te dane są parsowane, do czego używam biblioteki XDocument, i zapisywane na listach odpowiadających kolejnym dniom. Podczas tego procesu użytkownik widzi ekran informujący o pobieraniu danych:
Kiedy dane są już pobrane ekran z napisem „Pobieranie danych…” znika i użytkownik widzi pierwszy panel z wyświetlonymi danymi. Na tym widoku zobaczyć można najaktualniejszy kurs wybranej waluty.
Interesującą nas walutę wybrać można naciskając na miejsce gdzie wyświetlana jest nazwa i wtedy pokazana będzie lista wszystkich dostępnych walut. Niestety ponieważ NBP publikuje swoje pliki w kodowaniu ISO, a biblioteka obsługuje jedynie kodowanie UTF-8 i UTF-16 występuje problem z wyświetlaniem polskich znaków.
Następnym ekranem dostępnym w aplikacji jest ekran przelicznika walut. Użytkownik może wybrać dwie waluty. na dole ekranu wyświetlone będzie ile jednostek drugiej z wybranych walut będzie trzeba zapłacić za jedną jednostkę pierwszej waluty.
Ostatnim ekranem jest ekran z wykresem zmian ceny. Tutaj można wybrać interesującą nas walutę i wtedy na podstawie pięciu ostatnich średnich kursów wyświetlony zostanie wykres zmiany ceny. Nie ma on skali dlatego daje on jedynie ogólny pogląd na to jak zmieniała się cena danej waluty.
Projekt co prawda działa jednak jeśli bym dłużej nad nim siedział to wiem, że mógłbym poprawić lub dodać wiele istotnych rzeczy. Jedną z nich jest na pewno obsługiwanie momentów zawieszenia, wznowienia i zamykania aplikacji, tak, żeby nie pobierała danych za każdym razem od nowa, skoro zmieniają się one maksymalnie raz dziennie. Jednak myślę, że teraz lepszym pomysłem będzie zaprzestanie dalszych prac nad tą aplikacją i zajęcie się kolejnymi, bo w taki sposób będę mógł uczyć się nowych rzeczy jednocześnie nie plątając się w zawiłym kodzie, który zawsze powstaje w początkowym okresie nauki.
Leave a Comment