Genta Hirauchi

RoomでDB管理をする[Android][Kotlin]

更新日:2019/12/05

目次

基本

ライブラリの導入

Entityクラスの実装

Point
  • 少なくとも1つの主キーを定義する必要がある。主キーを設定するには、そのフィールドに@PrimaryKeyを付ける
  • autoincrementしたい場合は、(autoGenerate = true)を付ける
  • フィールドがそのままテーブルのカラムとなる。カラム名を変更したい場合は、@ColumnInfo(name = “column_name”)を付ける

Daoクラスの実装

Point
  • @Queryを付けることで、SQL文を実行することができる
  • @Insertを付けることで、データの挿入ができる
  • @Updateを付けることで、データの更新ができる
  • @Deleteを付けることで、データの削除ができる。対象となるデータは、引数の主キーで検索される

Databaseクラスの実装

データにアクセスする

LiveDataでUIを自動更新する

lifecycleの導入

Daoクラスの実装

Point
  • 戻り値をLiveData<>にする

Repositoryクラスの実装

ViewModelクラスの実装

データを自動更新する