You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio Jellyfish版本下正确集成Realm Database的方法

在Android Studio Jellyfish 2023.3.1中集成Realm Database的正确步骤

新版Android Studio(对应AGP 8.x+)已不再支持旧的Project Structure图形化添加Realm插件/依赖的方式,直接手动修改配置文件即可完成集成,步骤如下:

1. 配置项目级构建文件

打开项目根目录下的build.gradle.kts(Groovy语法为build.gradle),在plugins块中添加Realm插件依赖:

Kotlin DSL(build.gradle.kts)

plugins {
    id("com.android.application") version "8.2.0" apply false
    id("org.jetbrains.kotlin.android") version "1.9.0" apply false
    // 添加Realm插件
    id("io.realm.kotlin") version "1.15.0" apply false
}

Groovy语法(build.gradle)

plugins {
    id 'com.android.application' version '8.2.0' apply false
    id 'org.jetbrains.kotlin.android' version '1.9.0' apply false
    // 添加Realm插件
    id 'io.realm.kotlin' version '1.15.0' apply false
}

2. 配置模块级构建文件

打开app模块下的build.gradle.kts(Groovy语法为build.gradle),应用Realm插件并按需添加依赖:

Kotlin DSL(build.gradle.kts)

plugins {
    id("com.android.application")
    id("org.jetbrains.kotlin.android")
    // 应用Realm插件
    id("io.realm.kotlin")
}

android {
    compileSdk = 34
    defaultConfig {
        minSdk = 21 // Realm要求minSdk最低为16
        // 其他项目配置
    }
}

dependencies {
    // 核心依赖由插件自动引入,如需同步功能可添加以下依赖
    implementation("io.realm.kotlin:library-sync:1.15.0")
}

Groovy语法(build.gradle)

plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
    // 应用Realm插件
    id 'io.realm.kotlin'
}

android {
    compileSdk 34
    defaultConfig {
        minSdk 21 // Realm要求minSdk最低为16
        // 其他项目配置
    }
}

dependencies {
    // 核心依赖由插件自动引入,如需同步功能可添加以下依赖
    implementation 'io.realm.kotlin:library-sync:1.15.0'
}

3. 初始化Realm

创建自定义Application类并初始化Realm(若已有自定义Application,直接添加初始化代码即可):

class MyApp : Application() {
    override fun onCreate() {
        super.onCreate()
        // 初始化Realm
        Realm.init(this)
        // 配置Realm实例
        val config = RealmConfiguration.Builder()
            .name("my_realm_db.realm")
            .schemaVersion(1)
            .build()
        Realm.setDefaultConfiguration(config)
    }
}

在AndroidManifest.xml的<application>标签中注册自定义Application:

<application
    android:name=".MyApp"
    // 其他属性配置
>

验证集成

创建测试数据类:

open class User(
    @PrimaryKey var id: String = "",
    var name: String = "",
    var age: Int = 0
) : RealmObject()

在Activity中测试读写操作:

// 写入数据
val realm = Realm.getDefaultInstance()
realm.executeTransaction {
    val user = it.createObject(User::class.java, "1")
    user.name = "测试用户"
    user.age = 25
}

// 读取数据
val user = realm.where(User::class.java).equalTo("id", "1").findFirst()
Log.d("RealmTest", "用户名:${user?.name},年龄:${user?.age}")

realm.close()

运行项目,若能正常打印日志,说明集成成功。


内容的提问来源于stack exchange,提问作者Shen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 05:07:10