福建师范大学Android Room 技术浅谈

本文详细介绍了Android Room技术,包括其背景、优点、核心组件(Database、Entity、DAO)以及依赖配置。通过实例展示了如何创建表、操作数据库,并探讨了单例模式在Room中的应用,同时提供了使用示例和效果展示。
摘要由CSDN通过智能技术生成

福建师范大学Android Room 技术浅谈

## 前提告知该文章是用作课程评分,本文内容虽为原创,但也有参考。

1.Room的背景简介

处理大量结构化数据的应用可极大地受益于在本地保留这些数据。最常见的使用场景是缓存相关的数据,这样一来,当设备无法访问网络时,用户仍然可以在离线状态下浏览该内容。

Room 持久性库在 SQLite 上提供了一个抽象层,以便在充分利用 SQLite 的强大功能的同时,能够流畅地访问数据库。

2.Room的优点

  • 使用编译时注解,能够对@Query和@Entity里面的SQL语句等进行验证;
  • 与SQL语句的使用更加贴近,能够降低学习成本,提交开发效率,减少模板代码;
  • @Embedded 能够减少表的创建;
  • 对LiveData、Kotlin Coroutines的支持

3.Room三大组件

1.Database: 可以使用此组件创建数据库 holder,注释定义实体列表,和类的内容定义数据访问对象(DAO)数据库中的表。它也是基本连接的主要访问点。
2.Entity: 实体类对象模型,一般对应表结构。实体的每个字段在数据库中都是保存的,除非你用@Ignore 注解。
3.DAO:全称Database Access Object,定义了对数据库中数据的读写等操作,DAO中可以使用SQL语句来操作数据库。

4.android Room 依赖的配置

在build.gradle 文件的 dependencies添加一下代码:

    implementation fileTree(dir:'libs',include:['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'androidx.recyclerview:recyclerview:1.2.1'
    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'androidx.room:room-common:2.3.0'
    implementation 'androidx.room:room-runtime:2.3.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:esprsso-core:3.2.0'
    implementation 'com.google.andrid.material:material:1.1.0'
    implementation 'andrid.arch.presistence.room:runtime:1.1<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值