jiichan.com

PROGRAMMING

Android Kotlin
javascript
PHP
Java

Room を使うための事前準備 (設定)

アプリを作っているとデータベースの利用は必須だと思います。
いつも、 Room の環境づくり特に gradle の設定で苦労していたので、メモっておくことにしました。

≪開発環境≫
windows11
andriod studio Ladybug

libs.versions.toml

バージョンカタログがデフォルトになったようなので、libs.versions.toml に Room で使用するバージョンを追記します。 追記する部分だけを次に記載しています。


[versions]
# kotlin version
kotlin = "2.0.21"
# room の為の ksp 先頭のバージョン番号を kotlin version に合わせる。
# 後半部分は調べる → https://github.com/google/ksp/tags?after=2.1.0-Beta1-1.0.25
ksp = "2.0.21-1.0.27"
# room に必要な三つのライブラリバージョン
roomRuntime = "2.6.1"
roomCompiler = "2.6.1"
roomKtx = "2.6.1"

[libraries]
androidx-room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "roomRuntime" }
androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "roomCompiler" }
androidx-room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "roomKtx" }
# ViewModel や LiveData も使うことになるので追記する
androidx-lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycleViewmodelCompose" }
androidx-runtime-livedata = { group = "androidx.compose.runtime", name = "runtime-livedata", version.ref = "runtimeLivedata" }

[plugins]
#room
google-devtools-ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }

build.gradle.kts (Project)

Project の gradle に追記します。


plugins {
    alias(libs.plugins.android.application) apply false
    alias(libs.plugins.kotlin.android) apply false
    alias(libs.plugins.kotlin.compose) apply false
    alias(libs.plugins.google.devtools.ksp) apply false     ← この部分追記
}

build.gradle.kts (Module)

Module の gradle に追記します。


plugins {
    alias(libs.plugins.android.application)
    alias(libs.plugins.kotlin.android)
    alias(libs.plugins.kotlin.compose)
    alias(libs.plugins.google.devtools.ksp)     ← この部分追記
}

dependencies {
	// room で使用する三つのライブラリを追記する
    implementation(libs.androidx.room.runtime)
    ksp(libs.androidx.room.compiler)
    implementation(libs.androidx.room.ktx)
	
	// ViewModel や LiveData も使うことになるので追記する
    // ViewModel
    implementation(libs.androidx.lifecycle.viewmodel.compose)
	// LiveData
    implementation(libs.androidx.runtime.livedata)
}