Android/Room/Database
Android/Room
Roomにおける、SQLiteのデータベース設定(接続等々)に該当する部分。
Android/Room/DAOを生成する機能を持つ
抽象クラスにアノテーションを付ける
@Database
アノテーションの引数には利用するAndroid/Room/Entity全てを列挙する。
このdatabaseのインスタンスをSingletonにするためにKotlin/companion objectを利用する
companion object内でデータベースの参照はKotlin/Volatileアノテーションを付けておく
メモリにのみ参照が保持されるようになるので、値の同期を考える必要がなくなる
参考
https://appdev-room.com/android-companion-object
https://developer.android.com/codelabs/basic-android-kotlin-compose-persisting-data-room?hl=ja#6