web-dev-qa-db-fra.com

Bibliothèque de persistance de la base de données SQlite VS

J'ai besoin d'aide pour mon projet d'examen afin de trouver les différences et les avantages de la base de données ROOM: j'ai essayé de chercher dans la documentation de développement Android pour comprendre la différence entre ces deux bases de données, mais je ne pouvais pas bien comprendre. Je n'ai trouvé aucune réponse dans le débordement de pile non plus, mais je souhaite également connaître les avantages de l'utilisation de la persistance d'espace par rapport à la base de données SQLite.

J'espère que quelqu'un pourra me donner une réponse claire.

20
Farhad Ba-ali

Room est une bibliothèque ORM, Object Relational Mapping Mapping. En d’autres termes, Room mappera nos objets de base de données sur les Java). Room fournit une couche d’abstraction sur SQLite pour permettre un accès fluide à la base de données tout en exploitant toute la puissance de SQLite.

Différence entre la bibliothèque de persistance SQLite et celle de la salle: -

  • Dans le cas de SQLite, il n'y a pas de vérification à la compilation des requêtes brutes SQLite. Mais dans Room, il existe une validation SQL au moment de la compilation.
  • Au fur et à mesure que votre schéma change, vous devez mettre à jour manuellement les requêtes SQL affectées. La chambre résout ce problème.
  • Vous devez utiliser beaucoup de code passe-partout pour convertir des objets SQL en objets de données Java. Cependant, Room mappe les objets de notre base de données sur Java Objet sans code standard.
  • Room est conçu pour fonctionner avec LiveData et RxJava pour l’observation des données, contrairement à SQLite.

Annotations de pièce et composants principaux:

  1. @Entity - Définit nos tables de base de données
  2. @DAO - Fournit une API pour la lecture et l'écriture de données
  3. @Database - Représente un détenteur de base de données

Voici le lien vers le moyen article qui explique en détail l'utilisation et les avantages de la bibliothèque de persistance de la pièce. J'espère que ça aide.

Éditer 1: Vous pouvez vous référer à la documentation de développeur Google, qui explique clairement comment enregistrer des données dans une base de données locale à l'aide de room. Lien vers la documentation développeur Google

46
Sankalp