小编典典

SQlite数据库VS Room持久性库

sql

我需要为我的考试项目寻求帮助,以发现ROOM数据库的不同之处和优势:我试图在android开发文档中进行搜索,以了解这两个数据库之间的区别,但我不清楚。我也没有在堆栈溢出中找到任何答案。我还想知道与SQLite数据库相比使用Room
Persistence的好处。

希望有人能给我明确的答案。


阅读 345

收藏
2021-04-15

共1个答案

小编典典

Room是一个ORM,对象关系映射库。换句话说,Room会将我们的数据库对象映射到Java对象。Room在SQLite上提供了一个抽象层,以允许流利的数据库访问,同时利用SQLite的全部功能。

SQLite和Room Persistence库之间的区别:-

  • 如果是SQLite,则不对原始SQLite查询进行编译时验证。但是在Room中,在编译时会进行SQL验证。
  • 随着架构的更改,您需要手动更新受影响的SQL查询。房间解决了这个问题。
  • 您需要使用大量样板代码在SQL查询和Java数据对象之间进行转换。但是,Room可以将我们的数据库对象映射到Java对象,而无需样板代码。
  • Room可以与LiveData和RxJava一起使用来进行数据观察,而SQLite则不能。

房间注释和主要组成部分:

  1. @Entity定义我们的数据库表
  2. @DAO提供了用于读写数据的API
  3. @Database代表数据库所有者

这是中篇文章的链接,该文章详细说明了Room Persistence库的用法和优点。我希望这有帮助。

编辑1: 您可以参考Google开发者文档,其中清楚地说明了如何使用Room将数据保存到本地数据库中。链接到Google Developer
Docs

2021-04-15