search
LoginSignup
1

posted at

updated at

[Android] Roomを使ってローカルDatabaseにデータを保存してみた

背景

データ永続化するニーズが出てきたので、ローカルDBにデータを保存して、サーバーと常に同期するようにした

技術背景

  • Kotlin: 1.6.20
  • KSP: 1.6.20-1.0.5
  • Android Studio: BumbleBee

Roomとは

Room 永続ライブラリは SQLite 全体に抽象化レイヤを提供することで、データベースへのより安定したアクセスを可能にし、SQLite を最大限に活用できるようにします。

Room  |  Android デベロッパー  |  Android Developers

Setup Room

buildscript {
    ext {
        // sdk and tools
        compileSdkVersion = 31
        minSdkVersion = 25
        targetSdkVersion = 31

        // app dependencies
        kotlinVersion = '1.6.20'
        roomVersion = '2.4.2'
    }
  • settings.gradle
pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
    }
    plugins {
        id("com.google.devtools.ksp") version "1.6.20-1.0.5"
    }
}

kspのバージョンはこちらを参照しました:Maven Repository: com.google.devtools.ksp
settings.gradleにpluginManagementを書いた理由はこちら:gradle pluginManagement {} ブロックとは

  • app/build.gradle
plugins {
    id 'com.google.devtools.ksp'
}

implementation("androidx.room:room-runtime:$rootProject.roomVersion")
annotationProcessor("androidx.room:room-compiler:$rootProject.roomVersion")
ksp("androidx.room:room-compiler:$rootProject.roomVersion")

テーブル作成

To be continued...

エラー

Plugin [id: 'com.google.devtools.ksp'] was not found in any of the following sources:

↑のsettings.gradleにpluginManagementを設定すれば解決するはずです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1