Úvod do úložiště dat v aplikacích Xamarin.iOS
Kdy použít databázi
I když se možnosti úložiště a zpracování mobilních zařízení zvyšují, telefony a tablety stále zaostávají za svými desktopovými a přenosnými protějšky. Z tohoto důvodu je vhodné nějakou dobu naplánovat architekturu úložiště dat pro vaši aplikaci, a ne jen za předpokladu, že databáze je správnou odpovědí po celou dobu. Existuje několik různých možností, které vyhovují různým požadavkům, například:
- Předvolby – iOS nabízí integrovaný mechanismus pro ukládání jednoduchých párů klíč-hodnota dat. Pokud ukládáte jednoduchá uživatelská nastavení nebo malé části dat (například osobní údaje), použijte nativní funkce platformy pro ukládání tohoto typu informací. Pro iOS můžete také využít synchronizaci iCloudu pro tato data, a to jak pro zálohování, tak i synchronizaci pro uživatele s více zařízeními.
- Textové soubory – uživatelský vstup nebo mezipaměti staženého obsahu (např. HTML) lze uložit přímo v systému souborů. Použijte odpovídající zásady vytváření názvů souborů, které vám pomůžou uspořádat soubory a najít data.
- Serializované datové soubory – Objekty mohou být trvalé jako XML nebo JSON v systému souborů. Rozhraní .NET Framework obsahuje knihovny, které usnadňují serializaci a de serializaci objektů. K uspořádání datových souborů použijte odpovídající názvy.
- Database – Databázový stroj SQLite je k dispozici pro iOS a je užitečný pro ukládání strukturovaných dat, která potřebujete dotazovat, řadit nebo jinak manipulovat. Úložiště databáze je vhodné pro seznamy dat s mnoha vlastnostmi.
- Soubory obrázků – I když je možné ukládat binární data do databáze na mobilním zařízení, doporučujeme je uložit přímo do systému souborů. V případě potřeby můžete názvy souborů uložit do databáze a přidružit image k jiným datům. Při práci s velkými obrázky nebo spoustou imagí je vhodné naplánovat strategii ukládání do mezipaměti, která odstraní soubory, které už nepotřebujete, abyste se vyhnuli využívání veškerého prostoru úložiště uživatele.
Pokud je databáze správným mechanismem úložiště pro vaši aplikaci, zbývající část tohoto dokumentu popisuje, jak používat SQLite na platformě Xamarin.
Výhody používání databáze
Použití databáze SQL v mobilní aplikaci má řadu výhod:
- Databáze SQL umožňují efektivní ukládání strukturovaných dat.
- Konkrétní data je možné extrahovat pomocí složitých dotazů.
- Výsledky dotazu je možné řadit.
- Výsledky dotazu je možné agregovat.
- Vývojáři s existujícími databázovými dovednostmi můžou využít své znalosti k návrhu kódu pro přístup k databázi a datům.
- Datový model ze serverové komponenty připojené aplikace se může v mobilní aplikaci znovu použít (v celém nebo částečně).
Databázový stroj SQLite
SQLite je opensourcový databázový stroj, který společnost Apple přijala pro svou mobilní platformu. Databázový stroj SQLite je integrovaný v iOSu, takže pro vývojáře není k dispozici žádná další práce, která by ji mohli využít. SQLite je vhodný pro vývoj mobilních aplikací pro různé platformy, protože:
- Databázový stroj je malý, rychlý a snadno přenosný.
- Databáze je uložená v jednom souboru, který se dá snadno spravovat na mobilních zařízeních.
- Formát souboru se snadno používá na různých platformách: 32bitové nebo 64bitové a velké nebo malé endové systémy.
- Implementuje většinu standardu SQL92.
Vzhledem k tomu, že SQLite je navržen tak, aby byl malý a rychlý, existuje několik upozornění na jeho použití:
- Některé syntaxe vnějšího spojení se nepodporují.
- Podporují se pouze přejmenování tabulky a ADDCOLUMN. Ve schématu nelze provádět jiné změny.
- Zobrazení jsou jen pro čtení.
Další informace o SQLite najdete na webu – SQLite.org – všechny informace, které potřebujete k použití SQLite s Xamarinem, najdete v tomto dokumentu a přidružených ukázkách. Databázový stroj SQLite je integrovaný do všech verzí iOSu. I když se tato kapitola nezabývá, je SQLite k dispozici také pro použití v aplikacích pro Windows Telefon a Windows.
Windows a Windows Telefon
SQLite lze také použít na platformách Windows, i když tyto platformy nejsou popsané v tomto dokumentu. Přečtěte si další informace v případové studii Tasky a přečtěte si Blog Tima Heuera.