我需要帮助我的考试项目找到ROOM数据库的差异和好处:
我试图在android开发文档中搜索,以了解这两个数据库之间的区别,但我无法清楚地理解.
我也没有在堆栈溢出中找到任何答案.
我还想知道使用Room持久性与sqlite数据库相比的好处.
希望有人能给我明确答案.
解决方法:
Room是一个ORM,对象关系映射库.换句话说,Room会将我们的数据库对象映射到Java对象.
Room提供了一个覆盖sqlite的抽象层,允许流畅的数据库访问,同时利用sqlite的全部功能.
>对于sqlite,没有原始sqlite查询的编译时验证.但在Room中,编译时会进行sql验证.
>随着架构的更改,您需要手动更新受影响的SQL查询.房间解决了这个问题.
>您需要使用大量的样板代码来转换SQL查询和
Java数据对象.但是,Room将我们的数据库对象映射到Java Object而没有样板代码.
> Room用于与LiveData和RxJava一起进行数据观察,而sqlite则不然.
房间注释和主要组成部分:
> @Entity – 定义我们的数据库表
> @DAO – 提供用于读取和写入数据的API
> @Database – 代表数据库持有者
这是link到中文文章,详细解释了Room持久性库的用法和好处.
我希望这有帮助.
编辑1:您可以参考Google开发人员文档,该文档清楚地解释了如何使用空间在本地数据库中保存数据. Link to Google Developer Docs
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。