Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Xamarin
  3. Utiliser une base de données
Extrait - Xamarin Développez vos applications multiplateformes pour iOS, Android et Windows
Extraits du livre
Xamarin Développez vos applications multiplateformes pour iOS, Android et Windows Revenir à la page d'achat du livre

Utiliser une base de données

Introduction

Le besoin d’une base de données apparaît dès lors que la volumétrie de données devient importante. Une autre raison pouvant conduire à l’utilisation d’une base est le besoin d’architecturer selon un modèle relationnel ses données.

SQLite

Plusieurs moteurs de base de données existent avec chacun leurs avantages et inconvénients. Celui qui colle au mieux au besoin d’une application mobile est SQLite, car il a l’avantage d’être extrêmement léger avec également peu d’adhérence au système d’exploitation utilisé puisqu’il se base sur un système de fichiers. Il peut aisément être embarqué dans nos applications.

Il est donc très facile à intégrer aux développements Xamarin et de nombreux composants existent pour permettre cette intégration.

Autre avantage non négligeable : sa réputation n’étant plus à faire, une large documentation est disponible sur le Web.

1. Plug-in SQLite

Lorsque l’on commence à réfléchir à intégrer une base de données dans son application, il s’agit d’un choix technique fort et l’on sait que c’est un chantier qui ne sera pas exempt d’embûches. Il est donc très important de pouvoir mutualiser la partie d’accès aux données afin de pouvoir la réutiliser dans chacune des plateformes de manière identique.

Pour cela, nous allons voir comment implémenter l’usage de SQLite via une PCL afin de mutualiser une grande partie du code.

Installer la PCL

Pour ajouter la PCL SQLite-Net, il faut utiliser le gestionnaire de paquets NuGet. 

Dans la bibliothèque partagée, il faut alors ajouter le paquet SQLite.Net.Async-PCL. Son acquisition comporte également le paquet NuGet SQLite.Net.Core-PCL dépendant.

Images/6_2_4_1_1.png
Images/EPX07_nuget.png

2. Classe de données

Qui dit base de données, dit forcément donnée. Les tables d’une base de données sont générées en se basant sur des classes de données.

Pour les besoins de notre exemple, nous allons partir d’une classe représentant un type de donnée basique :


public class DataItem 
{ 
     [PrimaryKey, AutoIncrement] 
     public int ID { get; set; } 
 
     public string Label { get; set; } 
 
     public string Description { get; set; } 
 
     public override string ToString() 
     { ...

Conclusion

Comme nous venons de le voir, l’intégration d’une base de données dans un projet Xamarin est assez aisée.

Les plug-ins communs et le simple ajout du package SQLite for Universal Windows Platform dans les projets UWP permettent de commencer très rapidement à utiliser les fonctionnalités d’une base de données.

La création d’une architecture basée sur les repository simplifie encore cet usage en ajoutant une couche d’abstraction dans l’utilisation de SQLite depuis les projets spécifiques à chaque plateforme.

D’autres composants permettent d’étendre ces usages en ajoutant des fonctionnalités d’asynchronisme et de requêtage à votre base de données relationnelle.