Wprowadzenie do magazynu danych w aplikacjach platformy Xamarin.iOS

Kiedy należy używać bazy danych

Chociaż możliwości przechowywania i przetwarzania urządzeń przenośnych rosną, telefony i tablety nadal pozostają w tyle za ich odpowiednikami stacjonarnymi i przenośnymi. Z tego powodu warto poświęcić trochę czasu na zaplanowanie architektury magazynu danych dla aplikacji, a nie tylko przy założeniu, że baza danych jest właściwą odpowiedzią przez cały czas. Istnieje wiele różnych opcji, które spełniają różne wymagania, takie jak:

  • Preferencje — system iOS oferuje wbudowany mechanizm przechowywania prostych par klucz-wartość danych. Jeśli przechowujesz proste ustawienia użytkownika lub małe elementy danych (takie jak informacje o personalizacji), użyj natywnych funkcji platformy do przechowywania tego typu informacji. W przypadku systemu iOS można również korzystać z synchronizacji z usługą iCloud dla tych danych, zarówno w przypadku tworzenia kopii zapasowych, jak i synchronizacji dla użytkowników z wieloma urządzeniami.
  • Pliki tekstowe — dane wejściowe użytkownika lub pamięci podręczne pobranej zawartości (np. Kod HTML) można przechowywać bezpośrednio w systemie plików. Użyj odpowiedniej konwencji nazewnictwa plików, aby ułatwić organizowanie plików i znajdowanie danych.
  • Serializowane pliki danych — obiekty mogą być utrwalane jako PLIKI XML lub JSON w systemie plików. Platforma .NET zawiera biblioteki, które ułatwiają serializowanie i desemalizowanie obiektów. Użyj odpowiednich nazw do organizowania plików danych.
  • Baza danych — aparat bazy danych SQLite jest dostępny dla systemu iOS i jest przydatny do przechowywania danych strukturalnych potrzebnych do wykonywania zapytań, sortowania lub manipulowania w inny sposób. Magazyn bazy danych jest odpowiedni do list danych z wieloma właściwościami.
  • Pliki obrazów — chociaż można przechowywać dane binarne w bazie danych na urządzeniu przenośnym, zaleca się przechowywanie ich bezpośrednio w systemie plików. W razie potrzeby możesz przechowywać nazwy plików w bazie danych, aby skojarzyć obraz z innymi danymi. W przypadku obsługi dużych obrazów lub wielu obrazów dobrym rozwiązaniem jest zaplanowanie strategii buforowania, która usuwa pliki, których nie trzeba już unikać używania całego miejsca do magazynowania użytkownika.

Jeśli baza danych jest odpowiednim mechanizmem przechowywania aplikacji, w pozostałej części tego dokumentu omówiono sposób używania biblioteki SQLite na platformie Xamarin.

Zalety korzystania z bazy danych

Korzystanie z bazy danych SQL w aplikacji mobilnej ma wiele zalet:

  • Bazy danych SQL umożliwiają wydajne przechowywanie danych ustrukturyzowanych.
  • Określone dane można wyodrębnić za pomocą złożonych zapytań.
  • Wyniki zapytania można sortować.
  • Wyniki zapytania można agregować.
  • Deweloperzy z istniejącymi umiejętnościami bazy danych mogą wykorzystać swoją wiedzę do projektowania kodu dostępu do bazy danych i danych.
  • Model danych ze składnika serwera połączonej aplikacji może być ponownie używany (w całości lub w części) w aplikacji mobilnej.

Aparat bazy danych SQLite

SQLite to aparat bazy danych typu open source, który został przyjęty przez firmę Apple dla swojej platformy mobilnej. Aparat bazy danych SQLite jest wbudowany w system iOS, więc nie ma dodatkowej pracy, aby deweloperzy mogli z niej korzystać. SqLite doskonale nadaje się do tworzenia aplikacji mobilnych międzyplatformowych, ponieważ:

  • Aparat bazy danych jest mały, szybki i łatwy do przenoszenia.
  • Baza danych jest przechowywana w jednym pliku, który można łatwo zarządzać na urządzeniach przenośnych.
  • Format pliku jest łatwy w użyciu na różnych platformach: 32- lub 64-bitowych oraz dużych lub małych systemach.
  • Implementuje większość standardu SQL92.

Ponieważ SQLite został zaprojektowany tak, aby był mały i szybki, istnieją pewne zastrzeżenia dotyczące jego użycia:

  • Niektóre składnia sprzężenia ZEWNĘTRZNEgo nie jest obsługiwana.
  • Obsługiwane są tylko tabele RENAME i ADDCOLUMN. Nie można wykonać innych modyfikacji schematu.
  • Widoki są tylko do odczytu.

Więcej informacji na temat biblioteki SQLite można znaleźć w witrynie internetowej — SQLite.org — jednak wszystkie informacje potrzebne do używania biblioteki SQLite z platformą Xamarin znajdują się w tym dokumencie i skojarzonych przykładach. Aparat bazy danych SQLite jest wbudowany we wszystkie wersje systemu iOS. Chociaż nie opisano w tym rozdziale, sqlite jest również dostępny do użycia w aplikacjach systemu Windows Telefon i Windows.

Windows i Windows Telefon

SqLite można również używać na platformach Windows, chociaż te platformy nie są omówione w tym dokumencie. Przeczytaj więcej w badaniu przypadku Tasky i przejrzyj blog Tima Heuera.