ShopHelper – lokalna lista zakupów

Poprzedni wpis na temat projektu ShopHelper: Pierwsze kroki i trochę o MVVM

W tym wpisie chciałbym napisać trochę o przechowywaniu danych listy zakupów. Na tą chwilę zdecydowałem się zrobić to jak najprościej, tj. dane będę zapisywał do lokalnego json-a. Na razie nie potrzebuję zarówno serwera jak i nawet lokalnej bazy danych, być może w przyszłości tak ale teraz chcę uruchomić jak najprostrzą funkcjonalność.

Przejdźmy teraz do implementacji, dodałem klasę ShoppingListService, która będzie odpowiedzialna za zapis nowych elementów listy zakupów oraz odczyt listy – czyli poprostu CRUD.

Generalnie chodzi o to aby na urządzeniu mobilnym trzymać gdzieś nasze dane w pliku, myślę, że na tą chwilę wykorzystanie np. SqlLite byłoby nadmiarowe. Do przechowywanie i późniejszej serializacji / deserializacji wykorzystałem prostą klasę ShoppingListData:

Aby zapewnić prostą i szybką serializację / deserializację obiektów dodałem do projektu chyba najpopularniejszą bibliotekę w świecie .NET czyli Newtosoft.Json. Poniżej obsługa ładowania i zapisywania danych z pliku json:

Jak pewnie już zauważyłeś nasz serwis nie zapewnia jeszcze żadnego publicznego API do pobierania listy i dodawania nowych elementów. Jednak dzięki poprzedniej wewnętrznej implementacji API to już formalność 🙂

Pozostało mi już tylko zaprezentować jak komponent listy korzysta z nowo dodanego serwisu. Z pobierania danych korzysta metoda odpowiedzialna za odświeżanie listy.

Efekt jest taki jaki chciałem osiągnąć cała lista jest przechowywana lokalnie na urządzeniu mobilnym. Czyli pomału można zacząć korzystać z aplikacji… No dobra może jeszcze trochę brakuje 🙂

Myślę, że przedstawione rozwiązanie może się przydać wszystkim osobom, które nie potrzebują relacyjnej bazy danych ponieważ chcą zapisywać proste dane albo całe grafy obiektów. Bardziej  spostrzegawczy pewnie już zauważyli, że można łatwo przerobić ten serwisik do wersji generycznej. Kod źródłowy oczywiście znajdziecie na GitHubie.

 

Dodaj komentarz