Partager via


Présentation des Stockage de données dans les applications Xamarin.iOS

Quand utiliser une base de données

Bien que les fonctionnalités de stockage et de traitement des appareils mobiles augmentent, les téléphones et tablettes restent en retard derrière leurs équivalents de bureau et d’ordinateur portable. Pour cette raison, il est utile de planifier l’architecture de stockage des données pour votre application plutôt que de simplement supposer qu’une base de données est la bonne réponse tout le temps. Il existe un certain nombre d’options différentes qui répondent à différentes exigences, telles que :

  • Préférences : iOS offre un mécanisme intégré pour stocker des paires clé-valeur simples de données. Si vous stockez des paramètres utilisateur simples ou de petits éléments de données (tels que des informations de personnalisation), utilisez les fonctionnalités natives de la plateforme pour stocker ce type d’informations. Pour iOS, vous pouvez également tirer parti de la synchronisation iCloud pour ces données, à la fois pour la sauvegarde et la synchronisation pour les utilisateurs avec plusieurs appareils.
  • Fichiers texte : entrée utilisateur ou caches de contenu téléchargé (par exemple, HTML) peut être stocké directement sur le système de fichiers. Utilisez une convention d’affectation de noms de fichiers appropriée pour vous aider à organiser les fichiers et à rechercher des données.
  • Fichiers de données sérialisés : les objets peuvent être conservés au format XML ou JSON sur le système de fichiers. Le .NET Framework inclut des bibliothèques qui facilitent la sérialisation et la désérialisation des objets. Utilisez les noms appropriés pour organiser les fichiers de données.
  • Base de données : le moteur de base de données SQLite est disponible iOS et est utile pour stocker des données structurées que vous devez interroger, trier ou manipuler. Le stockage de base de données est adapté aux listes de données avec de nombreuses propriétés.
  • Fichiers image : bien qu’il soit possible de stocker des données binaires dans la base de données sur un appareil mobile, il est recommandé de les stocker directement dans le système de fichiers. Si nécessaire, vous pouvez stocker les noms de fichiers dans une base de données pour associer l’image à d’autres données. Lorsque vous traitez d’images volumineuses ou de nombreuses images, il est recommandé de planifier une stratégie de mise en cache qui supprime les fichiers dont vous n’avez plus besoin pour éviter de consommer l’espace de stockage de l’utilisateur.

Si une base de données est le bon mécanisme de stockage pour votre application, le reste de ce document explique comment utiliser SQLite sur la plateforme Xamarin.

Avantages de l’utilisation d’une base de données

Il existe un certain nombre d’avantages pour utiliser une base de données SQL dans votre application mobile :

  • Les bases de données SQL permettent un stockage efficace des données structurées.
  • Des données spécifiques peuvent être extraites avec des requêtes complexes.
  • Les résultats de la requête peuvent être triés.
  • Les résultats de la requête peuvent être agrégés.
  • Les développeurs disposant de compétences de base de données existantes peuvent utiliser leurs connaissances pour concevoir le code d’accès aux données et à la base de données.
  • Le modèle de données du composant serveur d’une application connectée peut être réutilisé (dans son intégralité ou en partie) dans l’application mobile.

SQLite Moteur de base de données

SQLite est un moteur de base de données open source qui a été adopté par Apple pour sa plateforme mobile. Le moteur de base de données SQLite est intégré à iOS afin qu’il n’y ait aucun travail supplémentaire pour les développeurs de tirer parti de celui-ci. SQLite est bien adapté au développement mobile multiplateforme, car :

  • Le moteur de base de données est petit, rapide et facilement portable.
  • Une base de données est stockée dans un seul fichier, qui est facile à gérer sur les appareils mobiles.
  • Le format de fichier est facile à utiliser sur plusieurs plateformes : systèmes 32 ou 64 bits, et systèmes big ou little-endian.
  • Il implémente la plupart des normes SQL92.

Étant donné que SQLite est conçu pour être petit et rapide, il existe quelques mises en garde sur son utilisation :

  • Certaines syntaxes de jointure OUTER ne sont pas prises en charge.
  • Seule la table RENAME et ADDCOLUMN sont prises en charge. Vous ne pouvez pas effectuer d’autres modifications de votre schéma.
  • Les vues sont en lecture seule.

Vous pouvez en savoir plus sur SQLite sur le site web - SQLite.org - toutefois toutes les informations dont vous avez besoin pour utiliser SQLite avec Xamarin sont contenues dans ce document et les exemples associés. Le moteur de base de données SQLite est intégré à toutes les versions d’iOS. Bien qu’il ne soit pas abordé dans ce chapitre, SQLite est également disponible pour une utilisation sur les applications Windows Téléphone et Windows.

Windows et Windows Phone

SQLite peut également être utilisé sur les plateformes Windows, bien que ces plateformes ne soient pas couvertes dans ce document. Pour en savoir plus sur l’étude de cas Tasky, consultez le blog de Tim Heuer.