ユーザ用ツール

サイト用ツール


サイドバー

プログレス合同会社

広告

android:studio:application:core-database-module:build

01.エンティティの作成

:core:databeモジュール内にentitiesパッケージ(ディレクトリ)を追加し、設定データのエンティティ(テーブル)定義クラスSettings.ktを作成します。

package jp.co.progress_llc.portal.core.database.entities

import androidx.room.Entity
import androidx.room.PrimaryKey
import androidx.room.ColumnInfo

@Entity(tableName = "settings")
data class Settings(
  @PrimaryKey()
  @ColumnInfo(name = "item_name")
  val itemName:  String = "",
  @ColumnInfo(name = "item_value")
  val itemValue: String = "",
  @ColumnInfo(name = "setting_at")
  val settingAt: String = "",                     // YYYY-MM-DD
)

7行目
データベース上のテーブル名をsettingsにしています。
9行目
itemNameを主キーにしています。
10行目、12行目、14行目
データベース上のカラム名を定義しています。
11行目、13行目、15行目
アプリケーションでのカラム名と属性を定義しています。

DAOの作成

エンティティにアクセスするためのインターフェースオブジェクト(Data Access Object)を作成します。

:core:databeモジュール内にdaoパッケージ(ディレクトリ)を追加し、設定データのDAOインターフェースSettingsDao.ktを作成します。

package jp.co.progress_llc.portal.core.database.dao

import androidx.room.Dao
import androidx.room.Query
import jp.co.progress_llc.portal.core.database.entities.Settings

@Dao
interface SettingsDao {
  @Query("SELECT * FROM settings")
  suspend fun getAllSettings(): List<Settings>
}

7行目
DAOインターフェースであることを宣言しています。
9行目~10行目
レコードを全件取得します。

android/studio/application/core-database-module/build.txt · 最終更新: by 管理者