Android-使用架构组件Room进行数据存储

本文介绍了如何在Android中使用Room持久性库进行数据库操作。首先,需要在build.gradle文件中添加相关依赖。接着,创建@Entity注解的实体类表示数据库表,@Dao接口定义数据库操作,并使用@Database注解创建数据库抽象类。最后,通过数据库实例调用Dao接口的方法进行数据的插入、查询等操作。Room框架使得数据库操作更加简洁和便捷。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

Room持久性库在 SQLite 的基础上提供了一个抽象层,让用户能够在充分利用 SQLite 的强大功能的同时,获享更强健的数据库访问机制。


一、添加依赖

build.gradle (Module: app) 文件顶部定义的 Plugins 插件部分后,从而应用此插件。

apply plugin: 'kotlin-kapt'

在 android 块中添加 packagingOptions 块,以从软件包中排除原子函数模块并防止出现警告

android {
   
    // other configuration (buildTypes, defaultConfig, etc.)

    packagingOptions {
   
        exclude 'META-INF/atomicfu.kotlin_module'
    }

    kotlinOptions {
   
        jvmTarget = "1.8"
    }

}

在将 dependencies 块添加如下依赖

implementation "androidx.room:room-runtime:2.2.5"
    annotationProcessor "androidx.room:room-compiler:2.2.5"

二、使用步骤

1.创建entities类

Room 为每个用@Entity 注释的类创建一个表类中的字段对应于表中的列。因此,entities类往往是不包含任何逻辑的小型模型类
注意:

  1. 要使用@Entity 注释类并声明 tableName 属性设置表的名称。
  2. 通过将 @PrimaryKey 注释添加到正确的字段来设置主键——在下面的主键是用户的 ID。
  3. 使用@ColumnInfo(name = “column_name”) 注释为类字段设置列的名称。
  4. 如果多个构造函数都合适,则添加@Ignore 批注以告诉 Room 哪些应该使用哪些不应该使用。
@Entity(tableName = "Notes")
 data class Notes (

  @PrimaryKey(autoGenerate = true)
  v
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值