ユーザ用ツール

サイト用ツール


サイドバー

プログレス合同会社

広告

android:studio:application:feature-depart-data-module:database

03.データベースの作成

データベースはアプリケーションで一つが推奨されていますので、:appモジュールで作成します。

データベース作成の前準備で、エンティティコレクターで作成された各モジュールのエンティティクラスの配列オブジェクトを集約してひとつにするUnifiedRoomEntities.kt:build_logic:kspモジュールに作成します。


:appモジュールにdataパッケージ(ディレクトリ)を追加し、AppDatabase.ktを作成します。

package jp.co.progress_llc.portal.core.data

import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase
import android.content.Context

@Database(
  entities = [Route::class],
  version = 1,
  exportSchema = false
)

abstract class AppDatabase : RoomDatabase() {
  abstract fun RouteDao(): RouteDao

  companion object {
    @Volatile
    private var INSTANCE: AppDatabase? = null

    fun getDatabase(context: Context): AppDatabase {
      return INSTANCE ?: synchronized(this) {
        val instance = Room.databaseBuilder(
          context.applicationContext,
          AppDatabase::class.java,
          "app_database"
        )
          .build()
        INSTANCE = instance
        instance
      }
    }
  }
}

8行目~12行目
データベース全体の構造を定義しています。
14行目~34行目
データベースのインスタンスを作成しています。
26行目
データベースの名前を定義しています。
30行目
データベースのインスタンスを戻り値にしています。

android/studio/application/feature-depart-data-module/database.txt · 最終更新: by プログレス合同会社